This is code-related as in what the compiler will allow you to do in one language, but not allow you to do in another language (e.g. optional parameters in
VB.NET has support for CIL Exception Filters, C# doesn't:
Try
...
Catch ex As SomeException When ex.SomeProperty = 1
...
End Try
In C# you have to assign your variable before you can use it. I think you can turn this off, but it's the default behavior.
So something like this:
int something;
if (something == 10)
{ ... }
Isn't allowed, but the VB equivalent would be.
The semi-colon that ends up every line in C# is prohibited in VB, and that always makes me smile when I try going back to VB.Net...
The VB 9.0 compiler automatically translates literal XML into "functional construction" syntax. The C# compiler does not support this nice literal XML syntax.
One of my favorites (and bummers)
In VB.Net you can struture a switch/case statement as such:
Select Case True
Case User.Name = "Joe" And User.Role = "BigWig" And SecretTime = "HackerTime"
GrantCredentials()
End Select
which allows you to evaluate some complex evaluations through a switch instead of a variety of if/else blocks. You cannot do this in C#.
Global variables don't exist in c# i think