Introduction
Explanation of how this document is intended for people familiar with Java and C++
I intend this document for people who are familiar with both Java and C++. They should be familiar with all of the concepts of object-oriented programming and the syntax used to implement these features in Java and C++. Those not familiar with these languages and their features, and in particular Java, will find little use in this document.
My goal is to introduce C# concisely. I want to give an introduction so they can get to know the language quickly. I do not intend to answer all of your questions here, and if you are doing something more serious with the language, I recommend getting any one of a number of good books on the topic.
Explanation of how this document won’t be much help of to people who aren’t familiar with Java and C++
I intend this document to explain the C# programming language in terms of C++ and Java. If you do not know C++, you will probably be able to get plenty of use out of this document; however, if you do not know Java, this document will be of little use to you.
Recommendation to read the basic language features section, and read the other sections as needed.
I am writing this with the intention of giving a quick background in the C# language. The basic language features section will give you that quick introduction. I have also documented some parts of the .NET framework that I have used the most; however, some may only apply to you in some circumstances. I recommend reading those sections only if you need them. I wrote those sections assuming you have already read the basic language features or already have an understanding of the material in that section.
Quick introduction to Visual Studio
Installing Visual Studio Express Edition
I recommend installing the Visual C# Express Edition, which is free. Simply go to http://www.microsoft.com/Express/ to download and install Visual C# Express Edition.
Also, consider installing MSDN Documentation Express. This includes the documentation for the C# programming language and the .NET class library. This information is online at http://www.msdn.com/; however, I find it much quicker to have a local copy of the documentation.
I also recommend taking some time to get familiar with Visual Studio. You should learn some keyboard shortcuts that will make you more productive. The most important are F5, which starts debugging, and CTRL+F5, which runs the program without the debugger and prompts you to press enter after your program terminates.
A comparison with Eclipse
Many basic features of Visual Studio are similar to Eclipse. For example, you work with projects in Visual Studio as you would in Eclipse; however, in Eclipse you must establish a workbench and create projects within that workbench. In Visual Studio, you create a solution, and create projects within that solution. You do not necessarily have to have a solution in order to be able to work with a project.
There is an important distinction between a solution and a project. A project contains all source code and resources that will compile into a single assembly, while a solution is the set of all the projects that will create your program or library.[1]
[1] Nagel, Christian, et al. Professional C# 2008. (Indianapolis, IN: Wiley Pub, 2008), 419