I'm required by my company to use VB.NET rather than C#. It's not really that different of course, especially under the hood.
When it comes to lambdas, the long form I find frustrating. I haven't yet found if there's any short form syntax for lamdbas in VB.NET. Does that exist?
for example look how much shorter this is
ctx.Load(list.RoleAssignments, items => items.Include(
item => item.Member.LoginName,
item => item.Member.PrincipalType,
item => item.Member.Title));
than this
ctx.Load(list.RoleAssignments, Function(rac As RoleAssignmentCollection) rac.Include( _
Function(item As RoleAssignment) item.Member.LoginName, _
Function(item As RoleAssignment) item.Member.PrincipalType, _
Function(item As RoleAssignment) item.Member.Title))
functionbut here we are...As RoleAssignmentfrom your VB, as VB can infer the parameter types just as C# can. Then it's just a matter ofFunction(item)instead ofitem =>. (And similarly theAs RoleAssignmentCollectionfrom the outer lambda.)