开发者_如何学运维We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this questionI'm seriously considering moving from VB.Net to C#. If you made the jump to C# from vb.net, then what were the best resources you used to learn the language going from novice to pro?
Thanks
I use this VB.NET C# comparison reference all the time.
Oddly this reverse question might help you understand the areas in which things differ.
If C# programmers need to be told certain things then there must be a difference to the way VB.NET works:
What a C# Coder Should Know Before They Write VB
Maybe one of the best things to do is to rewrite some of your VB code, some classes, i was a vb coder some time ago, and one of the things i did was write the NerdDinner App in C#, following the Scott Gu tutorial it really help me.
Since you know Visual Basic .Net, you will not have much difficulty on learning C#
Besides other posts Visual Basict .Net to C# converter will help you too much.
You can write your code in Visual Basic .Net and see the equivalent in C#
http://www.developerfusion.com/tools/convert/vb-to-csharp/
Programming C# is a great reference.
You'll struggle with the syntax (End versus curly brace and semicolons), but the transition should be somewhat smooth. It's just understanding the differing syntax which will make it frustrating.
Choosing between C# and VB.NET
The only major difference between the two languages is that C# can break out of the ‘managed’ world of .NET to support unsafe code should this be required. However unsafe code is, as its name suggests, inherently hazardous and you may feel that it is a good thing to avoid using it. Explicit use of pointers is seldom required when programming .NET. If you really feel that you cannot do without pointers, then C# would be a good choice of language. If you are happy to work within the managed world of .NET, then C# or VB.NET would be equally suitable for your purposes.
Of course, there are other .NET languages available too. At first sight, C++ might seem the most attractive choice for programmers with previous experience of that language. You need to be aware, however, that the .NET version of C++ is best used for manipulating unmanaged memory. In most cases, C# would be a better choice of .NET language for a programmer with C++ experience. Unlike C++, the C# language was specifically designed for the .NET Framework. It benefits from a simple syntax, garbage collection and type safety to eliminate many potential bugs.
In pre .net days, there was a real perception (and deservedly so) of VB being for kids and the C languages being for grown ups. The .net Framework has changed (the reality if not the perception of) all that. I don't recall seeing anything in c# that couldn't be done in VB. I don't do VB very much so I don't remember irritating things about the language, in c# two pet peeves for me are the case sensitivity and the syntax of the for loop. Neither of which apply to the VB language. So the question is, are you sure you need to change?
OJT worked for me. the framework is the same. Syntax is "just another language" to learn. People get hung up on "what langauage" far too often. Skills I learned as an assembly language programmer are just as valid in higher-level languages.
The VB editor in Visual Studio does have some nice features.
There is no reason why one must move from VB.NET to C#.NET or vice versa. They both utilize the same framework api and tools. So, I find no point in migrating from VB.NET to C#.NET or vice versa.
精彩评论