Programming Concepts (C#)

This section explains programming concepts in the C# language.

In This Section

Title Description
Assemblies and the Global Assembly Cache (C#) Describes how to create and use assemblies.
Asynchronous Programming with async and await (C#) Describes how to write asynchronous solutions by using the async and await keywords in C#. Includes a walkthrough.
Attributes (C#) Discusses how to provide additional information about programming elements such as types, fields, methods, and properties by using attributes.
Caller Information (C#) Describes how to obtain information about the caller of a method. This information includes the file path and the line number of the source code and the member name of the caller.
Collections (C#) Describes some of the types of collections provided by the .NET Framework. Demonstrates how to use simple collections and collections of key/value pairs.
Covariance and Contravariance (C#) Shows how to enable implicit conversion of generic type parameters in interfaces and delegates.
Expression Trees (C#) Explains how you can use expression trees to enable dynamic modification of executable code.
Iterators (C#) Describes iterators, which are used to step through collections and return elements one at a time.
Language-Integrated Query (LINQ) (C#) Discusses the powerful query capabilities in the language syntax of C#, and the model for querying relational databases, XML documents, datasets, and in-memory collections.
Object-Oriented Programming (C#) Describes common object-oriented concepts, including encapsulation, inheritance, and polymorphism.
Reflection (C#) Explains how to use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties.
Serialization (C#) Describes key concepts in binary, XML, and SOAP serialization.
Threading (C#) Provides an overview of the .NET threading model and shows how to write code that performs multiple tasks at the same time to improve the performance and responsiveness of your applications.
Performance Tips Discusses several basic rules that may help you increase the performance of your application.