Programming Concepts

This section explains programming concepts that can be used in both Visual Basic and C#.

In This Section

Title

Description

Assemblies and the Global Assembly Cache (C# and Visual Basic)

Describes how to create and use assemblies.

Asynchronous Programming with Async and Await (C# and Visual Basic)

Describes how to write asynchronous solutions by using Async and Await (Visual Basic) or async and await (C#). Includes a walkthrough.

Attributes (C# and Visual Basic)

Discusses how to provide additional information about programming elements such as types, fields, methods, and properties by using attributes.

Caller Information (C# and Visual Basic)

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# and Visual Basic)

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# and Visual Basic)

Shows how to enable implicit conversion of generic type parameters in interfaces and delegates.

Expression Trees (C# and Visual Basic)

Explains how you can use expression trees to enable dynamic modification of executable code.

Iterators (C# and Visual Basic)

Describes iterators, which are used to step through collections and return elements one at a time.

LINQ (Language-Integrated Query)

Discusses the powerful query capabilities in the language syntax of C# and Visual Basic, and the common model for querying relational databases, XML documents, datasets, and in-memory collections.

Object-Oriented Programming (C# and Visual Basic)

Describes common object-oriented concepts, including encapsulation, inheritance, and polymorphism.

Performance (C# and Visual Basic)

Discusses several basic rules that may help you increase the performance of your application.

Reflection (C# and Visual Basic)

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# and Visual Basic)

Describes key concepts in binary, XML, and SOAP serialization.

Threading (C# and Visual Basic)

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.