I've found some videos that explain C# but it back to C#.NET when it is first appeared, if I learn from these videos will I learn something that has been removed from the language? will I miss alot?
closed as primarily opinion-based by gnat, user40980, Kilian Foth, GlenH7♦, Bart van Ingen Schenau Oct 19 '13 at 10:01
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
Whatever you find, it should start at C#/.NET 2.0.
Much of .NET 1.0 was refined in 2.0 with generics, and the 2.0 framework is still widely used today; the 3.0 and 3.5 frameworks are enhancements to 2.0, not rewrites.
If you're looking for a beginner book, Head First C# is pretty good.
You 'can', but in my opinion, don't waste your time.
Buy a new book, or go to current websites, and get current information.
You will miss a good amount of the new features. I think you'd be better off focusing on newer training materials. This way you won't have to unlearn all of the stuff from the earlier versions as you learn stuff from the more modern versions. The .NET of 2002 is very different from the .NET of today.
There's absolutely nothing stopping you from learning later revisions of the language specification, but by learning from C# 2.0 - you'll get a much better idea of what features are available in each version of the language.
It's worth stressing that the language and the .NET framework are seperate things, and both change between releases of Microsoft's .NET distribution. A great example of this is: in .NET 2.0 we only have WinForms for GUI, however in later releases there are WPF and Silverlight.
Knowing the difference between the language and framework features in different releases is important - if you're targeting the compact runtime or Novell's cross-platform Mono runtime, they only support specific features - knowing your way around is good.
If you're looking for a more 'mainstream' example - many enterprises will only have a specific .NET runtime available as part of their server SOE, so custom developed and industry-specific software usually needs to be written to support older versions of the Microsoft release!
It's still important to be up to date, but at the end of the day - the person with the better holistic understanding of the technology they're using (versus someone who only understands what is the current fashion) is going to do better in the long run.
Hope this helps :)
You will miss a ton of features. As jkohlhepp said, the .Net of today is much different than that of when it was first released. You can check out Windows Development For Beginners and Web Development For Beginners on Microsoft's site. This is targeted towards beginners (obviously) but there are links to othe resources as well.
Take advantage of Microsoft's MSDN as I think it has great documentation and has helped me along greatly! That is one of the things I love about the .Net languages and that I have found lacking in other langauges (Python has a decent documentation, but it is nowhere the caliber of the MSDN).