.NET API には、開発プロセスを迅速かつ最適化し、システム機能へのアクセスを提供するクラス、インターフェイス、デリゲート、および値型が含まれます。 言語間の相互運用性を容易にするために、ほとんどの .NET 型は CLS に準拠しているため、コンパイラが共通言語仕様 (CLS) に準拠している任意のプログラミング言語から使用できます。
.NET 型は、.NET アプリケーション、コンポーネント、およびコントロールが構築される基盤です。 .NET には、次の関数を実行する型が含まれています。
- 基本データ型と例外を表します。
- データ構造をカプセル化します。
- I/O を実行します。
- 読み込まれた型に関する情報にアクセスします。
- .NET セキュリティ チェックを呼び出します。
- データ アクセス、リッチ クライアント側 GUI、およびサーバー制御のクライアント側 GUI を提供します。
.NET には、豊富なインターフェイスセットと、抽象クラスと具象 (非抽象) クラスが用意されています。 具象クラス as-is 使用することも、多くの場合、それらのクラスから独自のクラスを派生させることもできます。 インターフェイスの機能を使用するには、インターフェイスを実装するクラスを作成するか、インターフェイスを実装する .NET クラスの 1 つからクラスを派生させることができます。
名前付け規則
.NET 型では、階層を意味するドット構文の名前付けスキームが使用されます。 この手法では、関連する型を名前空間にグループ化して、検索して参照しやすくします。 フル ネームの最初の部分 (右端のドットまで) は名前空間名です。 名前の最後の部分は型名です。 たとえば、System.Collections.Generic.List<T>
は、System.Collections.Generic
名前空間に属するList<T>
型を表します。
System.Collections.Genericの型は、ジェネリック コレクションの操作に使用できます。
この名前付けスキームにより、.NET を拡張するライブラリ開発者は、型の階層的なグループを作成し、一貫性のある有益な方法で名前を付けることができます。 また、型を完全な名前 (つまり、名前空間と型名) で明確に識別できるため、型名の競合を防ぐことができます。 ライブラリ開発者は、名前空間の名前を作成するときに、次の規則を使用する必要があります。
CompanyName。TechnologyName
たとえば、名前空間 Microsoft.Word
はこのガイドラインに準拠しています。
名前付けパターンを使用して関連する型を名前空間にグループ化することは、クラス ライブラリを構築して文書化する場合に便利な方法です。 ただし、この名前付けスキームは、可視性、メンバー アクセス、継承、セキュリティ、またはバインドには影響しません。 名前空間は複数のアセンブリ間でパーティション分割でき、1 つのアセンブリに複数の名前空間の型を含めることができます。 アセンブリは、共通言語ランタイムでのバージョン管理、配置、セキュリティ、読み込み、および可視性のための正式な構造を提供します。
名前空間と型名の詳細については、「 共通型システム」を参照してください。
システム名前空間
System名前空間は、.NET の基本型のルート名前空間です。 この名前空間には、 Object (継承階層のルート)、 Byte、 Char、 Array、 Int32、 Stringなど、すべてのアプリケーションで使用される基本データ型を表すクラスが含まれます。 これらの型の多くは、プログラミング言語で使用されるプリミティブ データ型に対応しています。 .NET 型を使用してコードを記述する場合は、.NET 基本データ型が必要な場合に、言語の対応するキーワードを使用できます。
次の表に、.NET が提供する基本型の一覧を示し、各型について簡単に説明し、Visual Basic、C#、C++、F# の対応する型を示します。
カテゴリ | クラス名 | 説明 | Visual Basic データ型 | C# データ型 | C++/CLI データ型 | F# データ型 |
---|---|---|---|---|---|---|
整数 | Byte | 8 ビット符号なし整数。 | Byte |
byte |
unsigned char |
byte |
SByte | 8 ビット符号付き整数。 CLS に準拠していません。 |
SByte |
sbyte |
char または signed char |
sbyte |
|
Int16 | 16 ビット符号付き整数。 | Short |
short |
short |
int16 |
|
Int32 | 32 ビット符号付き整数。 | Integer |
int |
int または long |
int |
|
Int64 | 64 ビット符号付き整数。 | Long |
long |
__int64 |
int64 |
|
UInt16 | 16 ビット符号なし整数。 CLS に準拠していません。 |
UShort |
ushort |
unsigned short |
uint16 |
|
UInt32 | 32 ビット符号なし整数。 CLS に準拠していません。 |
UInteger |
uint |
unsigned int または unsigned long |
uint32 |
|
UInt64 | 64 ビット符号なし整数。 CLS に準拠していません。 |
ULong |
ulong |
unsigned __int64 |
uint64 |
|
浮動小数点 | Half | 半精度 (16 ビット) 浮動小数点数。 | ||||
Single | 単精度 (32 ビット) 浮動小数点数。 | Single |
float |
float |
float32 または single |
|
Double | 倍精度 (64 ビット) 浮動小数点数。 | Double |
double |
double |
float または double |
|
論理 | Boolean | ブール値 (true または false)。 | Boolean |
bool |
bool |
bool |
その他 | Char | Unicode (16 ビット) 文字。 | Char |
char |
wchar_t |
char |
Decimal | 10 進 (128 ビット) 値。 | Decimal |
decimal |
Decimal |
decimal |
|
IntPtr | 基になるプラットフォームに依存するサイズの符号付き整数 (32 ビット プラットフォームでは 32 ビット値、64 ビット プラットフォームでは 64 ビット値)。 | nint |
unativeint |
|||
UIntPtr | 基になるプラットフォームに依存するサイズの符号なし整数 (32 ビット プラットフォームでは 32 ビット値、64 ビット プラットフォームでは 64 ビット値)。 CLS に準拠していません。 |
nuint |
unativeint |
|||
Object | オブジェクト階層のルート。 | Object |
object |
Object^ |
obj |
|
String | Unicode 文字の不変の固定長文字列。 | String |
string |
String^ |
string |
基本データ型に加えて、 System 名前空間には、例外を処理するクラスから、アプリケーション ドメインやガベージ コレクターなどのコア ランタイムの概念を扱うクラスまで、100 を超えるクラスが含まれています。 System名前空間には、多くの第 2 レベルの名前空間も含まれています。
名前空間の詳細については、 .NET API ブラウザー を使用して .NET クラス ライブラリを参照します。 API リファレンス ドキュメントでは、各名前空間、その型、および各メンバーに関するドキュメントを提供します。
データ構造
.NET には、多くの .NET アプリの役馬である一連のデータ構造が含まれています。 これらは主にコレクションですが、他の型も含まれます。
- Array - インデックスでアクセスできる厳密に型指定されたオブジェクトの配列を表します。 その構造に従って、固定サイズを持っています。
- List<T> - インデックスでアクセスできるオブジェクトの厳密に型指定されたリストを表します。 必要に応じて自動的にサイズが変更されます。
- Dictionary<TKey,TValue> - キーによってインデックスが作成される値のコレクションを表します。 値にはキーを使用してアクセスできます。 必要に応じて自動的にサイズが変更されます。
- Uri - URI の一様なリソース識別子 (URI) のオブジェクト表現と、URI の部分への簡単なアクセスを提供します。
- DateTime - 一時的な時間を表します。通常、日付と時刻として表されます。
ユーティリティ API
.NET には、多くの重要なタスクの機能を提供するユーティリティ API のセットが含まれています。
- HttpClient - HTTP 要求を送信し、URI によって識別されるリソースから HTTP 応答を受信するための API。
- XDocument - LINQ を使用して XML ドキュメントを読み込んでクエリを実行するための API。
- StreamReader - ファイルを読み取るための API。
- StreamWriter - ファイルを書き込むための API。
アプリ モデル API
.NET で使用できるアプリ モデルは多数あります。次に例を示します。
- ASP.NET - Web サイトとサービスを構築するための Web フレームワーク。 Windows、Linux、および macOS でサポートされます (ASP.NET バージョンによって異なります)。
- .NET MAUI - C# を使用して Windows、macOS、iOS、Android で実行されるネイティブ アプリを構築するためのアプリ プラットフォーム。
- Windows デスクトップ - Windows Presentation Foundation (WPF) および Windows フォームが含まれます。
こちらも参照ください
.NET