As said, square brackets allow you to use a name (for methods, variables, properties, etc) that is usually reserved for keywords. Other examples are Public, Private, Class, Sub, etc.
As for your second point, the c indicates that it is a character literal and not a string literal of length 1. Even though a character and a 1-letter string are in all usual senses the same, in .NET they are simply two different classes. I would like to correct aashish_9601's answer though: there is no conversion taking place.
In this code, a is a String and b is a Char.Code:Dim a = "x" Dim b = "x"c
The C# equivalent would be
Since ' is reserved for comments in VB they had to find a different way to distinguish string and char literals, and they chose for a 'c' suffix.Code:var a = "x"; var b = 'x';




Reply With Quote