.NET API browser

Welcome to the .NET API browser – your one-stop shop for all .NET-based APIs from Microsoft. Start searching for any managed APIs by typing in the box below.

If you have any feedback, create a new issue in the dotnet/dotnet-api-docs repo.

Quick Filters

.NET Standard API Reference version 1.3

NameDescription
Microsoft.Win32.SafeHandles NamespaceContains classes that are abstract derivations of safe handle classes that provide common functionality supporting file and operating system handles.
System NamespaceContains fundamental classes and base classes that define commonly-used value and reference data types, events and event handlers, interfaces, attributes, and processing exceptions.
System.CodeDom.Compiler NamespaceContains types for managing the generation and compilation of source code in supported programming languages. Code generators can each produce source code in a particular programming language based on the structure of Code Document Object Model (CodeDOM) source code models consisting of elements provided by the System.CodeDom namespace.
System.Collections NamespaceContains interfaces and classes that define various collections of objects, such as lists, queues, bit arrays, hash tables and dictionaries.
System.Collections.Concurrent NamespaceProvides several thread-safe collection classes that should be used in place of the corresponding types in the System.Collections and System.Collections.Generic namespaces whenever multiple threads are accessing the collection concurrently. However, access to elements of a collection object through extension methods or through explicit interface implementations are not guaranteed to be thread-safe and may need to be synchronized by the caller.
System.Collections.Generic NamespaceContains interfaces and classes that define generic collections, which allow users to create strongly typed collections that provide better type safety and performance than non-generic strongly typed collections.
System.Collections.ObjectModel NamespaceContains classes that can be used as collections in the object model of a reusable library. Use these classes when properties or methods return collections.
System.Collections.Specialized NamespaceContains specialized and strongly-typed collections; for example, a linked list dictionary, a bit vector, and collections that contain only strings.
System.ComponentModel NamespaceProvides classes that are used to implement the run-time and design-time behavior of components and controls. This namespace includes the base classes and interfaces for implementing attributes and type converters, binding to data sources, and licensing components.
System.Diagnostics NamespaceProvides classes that allow you to interact with system processes, event logs, and performance counters.
System.Diagnostics.CodeAnalysis NamespaceContains classes for interaction with code analysis tools. These tools are used to analyze code for conformance to coding conventions such as naming or security rules.
System.Diagnostics.Tracing NamespaceProvides types and members that enable you to create strongly typed events to be captured by event tracing for Windows (ETW).
System.Globalization NamespaceContains classes that define culture-related information, including language, country/region, calendars in use, format patterns for dates, currency, and numbers, and sort order for strings. These classes are useful for writing globalized (internationalized) applications. Classes such as StringInfo and TextInfo provide advanced globalization functionalities, including surrogate support and text element processing.
System.IO NamespaceContains types that allow reading and writing to files and data streams, and types that provide basic file and directory support.
System.IO.Compression NamespaceContains classes that provide basic compression and decompression services for streams.
System.Linq NamespaceProvides classes and interfaces that support queries that use Language-Integrated Query (LINQ).
System.Linq.Expressions NamespaceContains classes, interfaces and enumerations that enable language-level code expressions to be represented as objects in the form of expression trees.
System.Net NamespaceProvides a simple programming interface for many of the protocols used on networks today. Classes in the System.Net namespace can be used to develop Windows Store apps or desktop apps. When used in a Windows Store app, classes in the System.Net namespace are affected by network isolation feature, part of the application security model used by the Windows Developer Preview. The appropriate network capabilities must be enabled in the app manifest for a Windows Store app for the system to allow network access by a Windows Store app. For more information, see the Network Isolation for Windows Store Apps.
System.Net.Http NamespaceProvides a programming interface for modern HTTP applications.
System.Net.Http.Headers NamespaceProvides support for collections of HTTP headers used by the System.Net.Http namespace.
System.Net.NetworkInformation NamespaceProvides access to network traffic data, network address information, and notification of address changes for the local computer. The namespace also contains classes that implement the Ping utility. You can use Ping and related classes to check whether a computer is reachable across the network.
System.Net.Security NamespaceProvides network streams for secure communications between hosts.
System.Net.Sockets NamespaceProvides a managed implementation of the Windows Sockets (Winsock) interface for developers who need to tightly control access to the network.
System.Numerics NamespaceContains numeric types that complement the numeric primitives, such as Byte, Double, and Int32, that are defined by .NET.
System.Reflection NamespaceContains types that retrieve information about assemblies, modules, members, parameters, and other entities in managed code by examining their metadata. These types also can be used to manipulate instances of loaded types, for example to hook up events or to invoke methods. To dynamically create types, use the System.Reflection.Emit namespace.
System.Reflection.Emit NamespaceContains classes that allow a compiler or tool to emit metadata and Microsoft intermediate language (MSIL) and optionally generate a PE file on disk. The primary clients of these classes are script engines and compilers.
System.Resources NamespaceProvides classes and interfaces that allow developers to create, store, and manage various culture-specific resources used in an application. One of the most important classes of the System.Resources namespace is the ResourceManager class.
System.Runtime NamespaceContains advanced types that support diverse namespaces such as the System, Runtime, and the Security namespaces.
System.Runtime.CompilerServices NamespaceProvides functionality for compiler writers who use managed code to specify attributes in metadata that affect the run-time behavior of the common language runtime.
System.Runtime.ExceptionServices NamespaceProvides classes for advanced exception handling.
System.Runtime.InteropServices NamespaceProvides a wide variety of members that support COM interop and platform invoke services. If you are unfamiliar with these services, see Interoperating with Unmanaged Code.
System.Runtime.InteropServices.ComTypes NamespaceContains managed types that correspond to types used by COM interop.
System.Runtime.Versioning NamespaceContains advanced types that support versioning in side by side implementations of .NET.
System.Security NamespaceProvides the underlying structure of the common language runtime security system, including base classes for permissions.
System.Security.Authentication NamespaceProvides a set of enumerations that describe the security of a connection. These enumerations include CipherAlgorithmType, ExchangeAlgorithmType, HashAlgorithmType, and SslProtocols.
System.Security.Authentication.ExtendedProtection NamespaceProvides support for authentication using extended protection for applications.
System.Security.Cryptography NamespaceProvides cryptographic services, including secure encoding and decoding of data, as well as many other operations, such as hashing, random number generation, and message authentication. For more information, see Cryptographic Services.
System.Security.Cryptography.X509Certificates NamespaceContains the common language runtime implementation of the Authenticode X.509 v.3 certificate. This certificate is signed with a private key that uniquely and positively identifies the holder of the certificate.
System.Text NamespaceContains classes that represent ASCII and Unicode character encodings; abstract base classes for converting blocks of characters to and from blocks of bytes; and a helper class that manipulates and formats String objects without creating intermediate instances of String.
System.Text.RegularExpressions NamespaceProvides regular expression functionality that may be used from any platform or language that runs within .NET. In addition to the types contained in this namespace, the RegexStringValidator class enables you to determine whether a particular string conforms to a regular expression pattern.
System.Threading NamespaceProvides classes and interfaces that enable multithreaded programming. In addition to classes for synchronizing thread activities and access to data (Mutex, Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that allows you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads.
System.Threading.Tasks NamespaceProvides types that simplify the work of writing concurrent and asynchronous code. The main types are Task which represents an asynchronous operation that can be waited on and cancelled, and Task<TResult>, which is a task that can return a value. The TaskFactory class provides static methods for creating and starting tasks, and the TaskScheduler class provides the default thread scheduling infrastructure.
System.Windows.Input NamespaceMost of the types in this namespace support the Windows Presentation Foundation (WPF) input system. This includes device abstraction classes for mouse, keyboard, and stylus devices, a common input manager class, support for commanding and custom commands, and various utility classes. However, some of the types are applicable beyond WPF.
System.Xml NamespaceProvides standards-based support for processing XML.
System.Xml.Linq NamespaceContains the classes for LINQ to XML. LINQ to XML is an in-memory XML programming interface that enables you to modify XML documents efficiently and easily.
System.Xml.Schema NamespaceContains the XML classes that provide standards-based support for XML schema definition language (XSD) schemas.
System.Xml.Serialization NamespaceContains classes that are used to serialize objects into XML format documents or streams.