Main introduction: C Sharp Programming/Foreword
Although C# is derived from the C programming language, it has features such as garbage collection that allow beginners to become proficient in C# more quickly than in C or C++. Similar to Java, it is objectoriented, comes with an extensive class library, and supports exception handling, multiple types of polymorphism, and separation of interfaces from implementations. Those features, combined with its powerful development tools, multiplatform support, and generics, make C# a good choice for many types of software development projects: rapid application development projects, projects implemented by individuals or large or small teams, Internet applications, and projects with strict reliability requirements. Testing
frameworks such as NUnit make C# amenable to test-driven development and thus a good language for use with Extreme Programming (XP). Its strong typing helps to prevent many programming errors that are common in weakly typed languages. Foreword A description of the C# language and introduction to this Wikibook. Getting started with C# A simple C# program and where to get tools to compile it. Language Basics Naming conventions Quickly describes the generally accepted naming conventions for C#. Basic syntax Describes the basics in how the applications you write will be interpreted. Variables The entities used to store data of various shapes.
Operators Summarizes the operators, such as the '+' in addition, available in C#. Data structures Enumerations, structs, and more. Control statements Loops, conditions, and more. How the program flow is controlled. Exceptions Responding to errors that can occur. Classes Namespaces Giving your code its own space to live in. Classes The blueprints of objects that describes how they should work. Objects Cornerstones of any object-oriented programming language, objects are the tools you use to perform work. Encapsulation and accessor levels
Explains protection of object states by encapsulation. The .NET Framework .NET Framework Overview An overview of the .NET class library used in C#. Console Programming Input and Output using the console. Windows Forms GUI Programming with Windows Forms. Advanced Object-Orientation Concepts Inheritance Re-using existing code to improve or specialise the functionality of an object. Interfaces Define a template, in which to base subclasses from. Delegates and Events Be informed about when an event happens and choose what method to call when it happens with delegates.
Abstract classes Build partially implemented classes. Partial classes Split a class over several files to allow multiple users to develop, but also to stop code generators interfering with source code. Collections Effectively manage (add, remove, find, iterate, etc.) large sets of data. Generics Allow commonly used collections and classes to appear to have specialisation for your custom class. Object Lifetime Learn about the lifetime of objects, where they are allocated and learn about garbage collection. Design Patterns Learn commonly used design methodologies to simplify and/or improve your development framework. Keywords
C# Keywords abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace newnull object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual void volatile while Special C# Identifiers add alias get global partial remove set value where yield