I have been using the CSharp language for several years, and some new learners often have all kinds of problems, and here is a point of view to communicate with you:
1, CSharp and Java which will be more promising, or learn CSharp good or learn Java good.
My personal view is that both CSharp and Java are programming tools. Programmers do not have to consider too many of the pros and cons, but a good programmer or two can have a certain degree of mastery, when you work on the specific use of tools and areas is your work decision.
Both Java and CSharp are good programming languages, and this alone can be a basis for long-term development.
2, C + + and CSharp
Perhaps for many programmers, C + + is a scary language, especially the use of C + + to write enterprise application difficulties beyond imagination, but for some people with a certain C + + base, this is not very difficult. Some people describe two years in C + + as a nightmare.
I think, if you have not studied C + + or learning this is good for a better understanding of C #, but is not a beginner, in your programming has a certain foundation, when you to the master step.
3, language and operating system
Some of the language features of CSharp are based on hardware and operating systems, and of course it completes multi-level packaging as abstract as possible, and as a developer I personally strongly disagree with the language itself of the computer itself. If your job does require a deep understanding of some of the language features. Know them.
4, CSharp Learn what
There are several important areas of csharp in my personal work:
Gdi+,winform control Programming If you want to write your own window controls to learn something
Database part of the business process can not be separated from the database to learn database modeling knowledge
. NET Remoting If you're writing a n-tier or multi-tier program, you need to learn this.
asp.net javascript html css Many companies use CSharp to develop Web applications