The most evident difference between C# and VB syntax is that C# uses the semicolon ( ; ) as a statement terminator, whereas VB uses a line break. As a result, a statement in C# can occupy multiple lines as long as it is terminated with a semicolon; a VB statement must occupy only a single line. Multiline statements in VB must appear with the VB line continuation character (a space followed by an underscore ) on all but the last line.
A second, and not quite so evident, difference is that C# is case sensitive, whereas VB isn't. (Uniform casing for VB code is enforced by the Visual Studio environment, but it is by no means required.)
Finally, all types and their members have access modifiers that determine the type or member's accessibility. The keywords for these access modifiers are nearly identical in VB and C#, as Table 33-1 shows.
Table 33-1. Access modifiers in C# and VB