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

.NET には、基底クラス ライブラリ (コア セット) またはフレームワーク クラス ライブラリ (完全なセット) と呼ばれるクラス ライブラリの包括的な標準セットがあります。 これらのライブラリでは、多くの汎用およびアプリ固有の型、アルゴリズム、ユーティリティの機能の実装が提供されます。 商用ライブラリとコミュニティ ライブラリは、どちらもフレームワーク クラス ライブラリの上に構築され、コンピューティング タスクの広範なセット用に使いやすい市販ライブラリを提供します。

これらのライブラリのサブセットには、各 .NET 実装が提供されます。 基本クラス ライブラリ (BCL) API には、任意の .NET 実装が想定されています。これは、開発者がそれらを必要としていることと、よく使われるライブラリでそれらを実行する必要があるという 2 つの理由からです。 ASP.NET などの BCL 上のアプリ固有のライブラリは、すべての .NET 実装で使用できません。

基本クラス ライブラリ

BCL では最も基本的な型とユーティリティ機能が提供され、他のすべての .NET クラス ライブラリの基本となります。 BCL の目標は、ワークロードに偏りのない一般的な実装を提供することです。 アプリでは、特定のポリシーが優先される場合がある (高スループットよりも低待機時間、低い CPU 使用率よりも低いメモリ使用率など) ため、パフォーマンスは重要な考慮事項です。 BCL は、一般に、高パフォーマンスになることが意図されており、これらのさまざまなパフォーマンス上の問題に応じて、妥協案が採用されます。 ほとんどのアプリでは、この方法は成功しています。

プリミティブと他の基本型

.NET には、すべてのプログラムで (さまざまな程度で) 使用される基本型のセットが含まれています。 これらの型には、数値、文字列、バイト、任意のオブジェクトなどのデータが含まれています。 C# 言語には、これらの型のキーワードが含まれています。 これらの型のサンプル セットを、一致する C# キーワードとともに以下に示します。

C# キーワード 説明
System.Object object CLR 型システムの最も基本の基底クラス。 型階層のルートです。
System.Int16 short 16 ビットの符号付き整数型。 符号なしの UInt16 も存在します。
System.Int32 int 32 ビットの符号付き整数型。 符号なしの UInt32 も存在します。
System.Single float 32 ビットの浮動小数点型。
System.Decimal decimal 128 ビットの 10 進数型。
System.Byte byte メモリのバイトを表す符号なし 8 ビット整数。
System.Boolean bool true または false を表すブール型。
System.Char char Unicode 文字を表す 16 ビットの数値型。
System.String string 一連の文字を表します。 char[] とは異なりますが、string で各 char にインデックスを付けることができます。

データ構造

.NET には、多数の .NET アプリの主力となるデータ構造体のセットが含まれています。 これらはほとんどがコレクションですが、その他の型も含まれています。

  • Array - インデックスを使用してアクセスできる、厳密に型指定されたオブジェクトの配列を表します。 その構造ごとの固定サイズがあります。
  • List<T>: インデックスを使用してアクセスできる、厳密に型指定されたオブジェクトのリストを表します。 必要に応じてサイズを自動調整します。
  • Dictionary<TKey,TValue>: キーによってインデックスが作成される値のコレクションを表します。 値は、キーを使用してアクセスできます。 必要に応じてサイズを自動調整します。
  • Uri: URI (Uniform Resource Identifier) のオブジェクト表現を可能にし、URI の一部へ簡単にアクセスできるようにします。
  • DateTime: 通常、日付や時刻として表現される瞬間を表します。

ユーティリティ API

.NET には多くの重要なタスクの機能を提供するユーティリティ API のセットが含まれています。

  • HttpClient: URI で識別されるリソースに HTTP 要求を送信し、そのリソースから HTTP 応答を受信するための基底クラスを提供する API です。
  • XDocument: LINQ を使用して XML ドキュメントのロードと照会をするための API です。
  • StreamReader: ファイルを読み取るための API です。
  • StreamWriter: ファイルを書き込むための API です。

アプリ モデル API

.NET で使用できる多くのアプリ モデルが提供されています。次に例を示します。

  • ASP.NET - Web サイトとサービスを構築するための Web フレームワーク。 Windows、Linux、および macOS でサポートされます (ASP.NET のバージョンによって異なります)。
  • Xamarin - .NET と C# を使用して Android と iOS のアプリをビルドするためのアプリ プラットフォーム。 Windows と macOS でサポートされます。
  • Windows Desktop - Windows Presentation Foundation (WPF) と Windows フォームが含まれます。