<p>Certainly there's the difference in general syntax, but what other critical distinctions exist?  There are <em>some</em> differences, right?</p>

[{'answer_id': 11638, 'author': 'Rob Allen', 'author_id': 149, 'author_profile': 'https://Stackoverflow.com/users/149', 'pm_score': 3, 'selected': False, 'text': '<p>This topic has had a lot of face time since .Net 2.0 was released. See this <a href="http://en.wikipedia.org/wiki/Comparison_of_C_sharp_and_Visual_Basic_.NET" rel="noreferrer">Wikipedia</a> article for a readable summary.</p>\n'}, {'answer_id': 11640, 'author': 'Tom Grochowicz', 'author_id': 44, 'author_profile': 'https://Stackoverflow.com/users/44', 'pm_score': 2, 'selected': False, 'text': '<p><a href="http://www.codeproject.com/KB/dotnet/vbnet_c__difference.aspx" rel="nofollow noreferrer">This</a> is a very comprehensive reference.</p>\n'}, {'answer_id': 11662, 'author': 'csmba', 'author_id': 350, 'author_profile': 'https://Stackoverflow.com/users/350', 'pm_score': 2, 'selected': False, 'text': "<p>Since I assume you can google, I don't think a link to more sites is what you are looking for.</p>\n\n<p>My answer: Choose base on the history of your developers. C# is more JAVA like, and probably C++ like.\nVB.NET was easier for VB programmers, but I guess that is no really an issue anymore sine there are no new .NET programmers coming from old VB. </p>\n\n<p>My opinion is that VB is more productive then C#, it seems it is always ahead in terms of productivity tools (such as intelisense), and I would recommend vb over c# to someone that asks. Of course, someone that knows he prefers c# won't ask, and c# is probably the right choice for him.</p>\n"}, {'answer_id': 11663, 'author': 'Luke', 'author_id': 327, 'author_profile': 'https://Stackoverflow.com/users/327', 'pm_score': 6, 'selected': True, 'text': '<p>The linked comparisons are very thorough, but as far as the main differences I would note the following:</p>\n\n<ul>\n<li><strike>C# has anonymous methods</strike>VB has these now, too</li>\n<li><strike>C# has the yield keyword (iterator blocks)</strike>VB11 added this</li>\n<li>VB supports <a href="http://smartypeeps.blogspot.com/2006/06/late-binding-in-c-and-vbnet.html" rel="noreferrer">implicit late binding</a> (C# has explicit late binding now via the dynamic keyword)</li>\n<li>VB supports XML literals</li>\n<li>VB is case insensitive</li>\n<li>More out-of-the-box code snippets for VB</li>\n<li><Strike>More out-of-the-box refactoring tools for C#</strike>Visual Studio 2015 now provides the same refactoring tools for both VB and C#.</li>\n</ul>\n\n<p>In general the things MS focuses on for each vary, because the two languages are targeted at very different audiences. <a href="http://blogs.msdn.com/ericlippert/archive/2004/03/02/cargo-cultists-part-three-is-mort-a-cargo-cultist.aspx" rel="noreferrer">This blog post</a> has a good summary of the target audiences. It is probably a good idea to determine which audience you are in, because it will determine what kind of tools you\'ll get from Microsoft.</p>\n'}, {'answer_id': 11677, 'author': 'Keith', 'author_id': 905, 'author_profile': 'https://Stackoverflow.com/users/905', 'pm_score': 1, 'selected': False, 'text': "<p>Apart from syntax not that much any more. They both compile to exactly the same IL, so you can compile something as VB and reflect it into C#.</p>\n\n<p>Most of the apparent differences are syntactic sugar. For instance VB appears to support dynamic types, but really they're just as static as C#'s - the VB compiler figures them out.</p>\n\n<p>Visual Studio behaves differently with VB than with C# - it hides lots of functionality but adds background compiling (great for small projects, resource hogging for large ones) and better snippet support.</p>\n\n<p>With more and more compiler 'magic' in C#3 VB.Net has really fallen behind. The only thing VB now has that C# doesn't is the <code>handles</code> keyword - and that's of debatable benefit.</p>\n\n<p>@Tom - that really useful, but a little out of date - VB.Net now supports XML docs too with <code>'''</code></p>\n\n<p>@Luke - VB.Net still doesn't have anon-methods, but does now support lambdas.</p>\n"}, {'answer_id': 11907, 'author': 'Seibar', 'author_id': 357, 'author_profile': 'https://Stackoverflow.com/users/357', 'pm_score': 3, 'selected': False, 'text': '<p>This may be considered syntax, but VB.NET is case <em>in</em>sensitive while C# is case <em>sensitive</em>.</p>\n'}, {'answer_id': 11954, 'author': 'DevelopingChris', 'author_id': 1220, 'author_profile': 'https://Stackoverflow.com/users/1220', 'pm_score': 0, 'selected': False, 'text': '<p>When it gets to IL its all just bits. That case insensitivity is just a precompiler pass.\nBut the general consensus is, vb is more verbose. \nIf you can write c# why not save your eyes and hands and write the smaller amount of code to do the same thing.</p>\n'}, {'answer_id': 13794, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 2, 'selected': False, 'text': '<p>Although the syntax sugar on C#3 has really  pushed the bar forward, I must say some of the Linq  to XML stuff in VB.Net seems quite nice and makes handling complex, deeply nested XML a little bit more tolerable.  Just a little bit.</p>\n'}, {'answer_id': 13811, 'author': 'Vaibhav', 'author_id': 380, 'author_profile': 'https://Stackoverflow.com/users/380', 'pm_score': 0, 'selected': False, 'text': '<p>One glaring difference is in how they handle extension methods (Vb.Net actually allows something that C# doesn\'t - passing the type on which the extension method is being defined as ref): <a href="http://blog.gadodia.net/extension-methods-in-vbnet-and-c/" rel="nofollow noreferrer">http://blog.gadodia.net/extension-methods-in-vbnet-and-c/</a></p>\n'}, {'answer_id': 13812, 'author': 'Vaibhav', 'author_id': 380, 'author_profile': 'https://Stackoverflow.com/users/380', 'pm_score': 2, 'selected': False, 'text': '<p>One glaring difference is in how they handle extension methods (Vb.Net actually allows something that C# doesn\'t - passing the type on which the extension method is being defined as ref): <a href="http://blog.gadodia.net/extension-methods-in-vbnet-and-c/" rel="nofollow noreferrer">http://blog.gadodia.net/extension-methods-in-vbnet-and-c/</a></p>\n'}, {'answer_id': 3579215, 'author': 'the_lotus', 'author_id': 130611, 'author_profile': 'https://Stackoverflow.com/users/130611', 'pm_score': 1, 'selected': False, 'text': '<p>The biggest difference in my opinion is the ability to write unsafe code in C#.</p>\n'}, {'answer_id': 4493898, 'author': 'winwaed', 'author_id': 481927, 'author_profile': 'https://Stackoverflow.com/users/481927', 'pm_score': 1, 'selected': False, 'text': '<p>Although VB.NET supports try...catch type exception handling, it still has something similar to VB6\'s ON ERROR. ON ERROR can be seriously abused, and in the vast majority of cases, try...catch is far better; but ON ERROR can be useful when handling COM time-out operations where the error can be trapped, decoded, and the final "try again" is a simple one line. \nYou can do the same with try...catch but the code is a lot messier.</p>\n'}, {'answer_id': 4581631, 'author': 'winwaed', 'author_id': 481927, 'author_profile': 'https://Stackoverflow.com/users/481927', 'pm_score': 0, 'selected': False, 'text': '<p>Yes VB.NET fixed most of the VB6 problems and made it a proper OOP language - ie. Similar in abilities to C#. AlthougnI tend to prefer C#, I do find the old VB ON ERROR construct useful for handling COM interop timeouts. Something to use wisely though - ON ERROR is easily abused!!</p>\n'}, {'answer_id': 14314423, 'author': 'Durgesh Khandal', 'author_id': 1965629, 'author_profile': 'https://Stackoverflow.com/users/1965629', 'pm_score': 1, 'selected': False, 'text': '<p>This topic is briefly described at wikipedia and harding.</p>\n\n<p><a href="http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET" rel="nofollow">http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET</a>\nhttp://www.harding.edu/fmccown/vbnet_csharp_comparison.html</p>\n\n<p>Just go through and make your notes on that.</p>\n'}]
['https://Stackoverflow.com/questions/11632', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/337/']