フレームワーク ライブラリFramework Libraries

.NET には、基底クラス ライブラリ (コア セット) またはフレームワーク クラス ライブラリ (完全なセット) と呼ばれるクラス ライブラリの包括的な標準セットがあります。.NET has an expansive standard set of class libraries, referred to as either the base class libraries (core set) or framework class libraries (complete set). これらのライブラリは、多くの汎用およびアプリ固有の型、アルゴリズムおよびユーティリティの機能の実装を提供します。These libraries provide implementations for many general and app-specific types, algorithms and utility functionality. 商用ライブラリとコミュニティ ライブラリはどちらもフレームワーク クラス ライブラリの上に構築され、コンピューティング タスクの広範なセット用に使いやすい市販ライブラリを提供します。Both commercial and community libraries build on top of the framework class libraries, providing easy to use off-the-shelf libraries for a wide set of computing tasks.

これらのライブラリのサブセットには、各 .NET 実装が提供されます。A subset of these libraries are provided with each .NET implementation. 基底クラス ライブラリ (BCL) API には、任意の .NET 実装が想定されています。これは、開発者がそれらを必要としていることと、よく使われるライブラリでそれらを実行する必要があるという 2 つの理由からです。Base Class Library (BCL) APIs are expected with any .NET implementation, both because developers will want them and because popular libraries will need them to run. ASP.NET などの BCL 上のアプリ固有のライブラリは、すべての .NET 実装で使用できません。App-specific libraries above the BCL, such as ASP.NET, will not be available on all .NET implementations.

基底クラス ライブラリBase Class Libraries

BCL は最も基本的な型およびユーティリティの機能を提供し、他のすべての .NET クラス ライブラリの基本となります。The BCL provides the most foundational types and utility functionality and are the base of all other .NET class libraries. これらは、任意のワークロードに偏ることなく、非常に汎用的な実装を提供することを目的としています。They aim to provide very general implementations without any bias to any workload. アプリは、高スループットよりも低待機時間、低い CPU 使用率よりも低いメモリ使用率のように、特定のポリシーを選ぶ場合があるため、パフォーマンスは常に重要な考慮事項です。Performance is always an important consideration, since apps might prefer a particular policy, such as low-latency to high-throughput or low-memory to low-CPU usage. これらのライブラリは、一般に、高パフォーマンスになることを意図しており、これらさまざまなパフォーマンス上の問題に応じて、妥協案を採用します。These libraries are intended to be high-performance generally, and take a middle-ground approach according to these various performance concerns. ほとんどのアプリでは、この方法は成功しています。For most apps, this approach has been quite successful.

プリミティブ型Primitive Types

.NET には、すべてのプログラムで (さまざまな程度で) 使用されるプリミティブ型のセットが含まれています。.NET includes a set of primitive types, which are used (to varying degrees) in all programs. これらの型には、数値、文字列、バイト、および任意のオブジェクトなどのデータが含まれています。These types contain data, such as numbers, strings, bytes and arbitrary objects. C# 言語には、これらの型のキーワードが含まれています。The C# language includes keywords for these types. これらの型のサンプル セットを、一致する C# キーワードとともに以下に示します。A sample set of these types is listed below, with the matching C# keywords.

データ構造Data Structures

.NET には、ほとんどの .NET アプリの主力となるデータ構造体のセットが含まれています。.NET includes a set of data structures that are the workhorses of almost any .NET apps. これらはほとんどがコレクションですが、その他の型も含まれています。These are mostly collections, but also include other types.

  • Array: インデックスを使用してアクセスできる、厳密に型指定されたオブジェクトの配列を表します。Array - Represents an array of strongly types objects that can be accessed by index. その構造ごとの固定サイズがあります。Has a fixed size, per its construction.
  • List<T>: インデックスを使用してアクセスできる、厳密に型指定されたオブジェクトのリストを表します。List<T> - Represents a strongly typed list of objects that can be accessed by index. 必要に応じてサイズを自動調整します。Is automatically resized as needed.
  • Dictionary<TKey,TValue>: キーによってインデックスが作成される値のコレクションを表します。Dictionary<TKey,TValue> - Represents a collection of values that are indexed by a key. 値は、キーを使用してアクセスできます。Values can be accessed via key. 必要に応じてサイズを自動調整します。Is automatically resized as needed.
  • Uri: URI (Uniform Resource Identifier) のオブジェクト表現を可能にし、URI の一部へ簡単にアクセスできるようにします。Uri - Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.
  • DateTime: 通常、日付や時刻として表現される瞬間を表します。DateTime - Represents an instant in time, typically expressed as a date and time of day.

ユーティリティ APIUtility APIs

.NET には多くの重要なタスクの機能を提供するユーティリティ API のセットが含まれています。.NET includes a set of utility APIs that provide functionality for many important tasks.

  • HttpClient: URI で識別されるリソースに HTTP 要求を送信し、そのリソースから HTTP 応答を受信するための基底クラスを提供する API です。HttpClient - An API for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.
  • XDocument: LINQ を使用して XML ドキュメントのロードと照会をするための API です。XDocument - An API for loading, and querying XML documents with LINQ.
  • StreamReader: ファイルを読み取るための API です。StreamReader - An API for reading files.
  • StreamWriter: ファイルを書き込むための API です。StreamWriter - An API for writing files.

アプリ モデル APIApp-Model APIs

.NET で使用できる多くのアプリ モデルが、複数の企業から提供されています。There are many app-models that can be used with .NET, provided by several companies.

  • ASP.NET: Web サイトとサービスを構築するための Web フレームワークを提供します。ASP.NET - Provides a web framework for building Web sites and services. Windows、Linux、macOS でサポートされます (ASP.NET のバージョンによって異なります)。Supported on Windows, Linux and macOS (depends on ASP.NET version).