C Sharp Programming

C Sharp Programming · Wikibooks

0%

Contents

    Text

    Size
    100%
    Theme
    Typeface
    Line length
    Spacing

    From Wikibooks, under CC BY-SA 4.0, as the source states it. This page at Wikibooks.

    C Sharp Programming


    Illustration
    C sharp logo

    C# (pronounced "C Sharp"||"C#") is a multi-purpose computer programming language suitable for a wide variety of development needs. This Wikibook introduces C# language fundamentals and covers a variety of the base class libraries (BCL) provided by the Microsoft .NET Framework.

    Introduction

    Main introduction: C Sharp Programming/Foreword

    Although C# is derived from the C programming language, it introduces some unique and powerful features, such as delegates (which can be viewed as type-safe function pointers) and lambda expressions which introduce elements of functional programming languages, as well as a simpler single class inheritance model (than C++) and, for those of you with experience in "C-like" languages, a very familiar syntax that may help beginners become proficient faster than its predecessors. Similar to Java, it is object-oriented, 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, multi-platform 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.

    Basics

    Basic syntax
    Describes the basics in how the applications you write will be interpreted.
    Naming conventions
    Quickly describes the generally accepted naming conventions for C#.
    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, or the bundling of an object's data and functionality.

    Advanced Topics

    Inheritance
    Re-using existing code to improve or specialize the functionality of an object.
    Interfaces
    Define a template, on which to base sub-classes.
    Delegates and Events
    Learn about delegates, anonymous delegates, lambda expressions, and events.
    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.
    Generics
    Allow commonly used collections and classes to appear to have specialization for your custom class.
    Extension methods
    Extend the functionality of existing types.
    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.

    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.
    Collections
    Effectively manage (add, remove, find, iterate, etc.) large sets of data.
    Threading
    Learn how to run code concurrently and how to synchronize code.
    Marshalling
    Communicating with unmanaged code

    Examples

    K-Means++

    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
    new null 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 var virtual
    void volatile while
    Special C# Identifiers (Contextual Keywords)
    add alias async await dynamic
    get global nameof partial remove
    set value when where yield
    Contextual Keywords (Used in Queries)
    ascending by descending equals from
    group in into join let
    on orderby select where