英語で読む

次の方法で共有


組み込み型 (C# リファレンス)

次の表に、C# の組み込み型である 型 を示します。

次の表に、C# 組み込みの 参照 型を示します。

上記の表では、左側の列の C# 型キーワード (デリゲート と動的 除く) は、対応する .NET 型のエイリアスです。 これらは交換可能です。 たとえば、次の宣言では、同じ型の変数を宣言します。

int a = 123;
System.Int32 b = 123;

dynamic 型は objectに似ています。 主な違いは次のとおりです。

  • dynamic 式に対する操作は、コンパイル時ではなく実行時にバインドされます。
  • new dynamic()を使用することはできません。
  • dynamic 型から型を派生することはできません。

delegate キーワードは、System.Delegateから派生した型を宣言します。 System.Delegate 型は抽象型です。

void キーワードは、型が存在しないことを表します。 値を返さないメソッドの戻り値の型として使用します。

C# 言語には、System.Span<T> 型と System.ReadOnlySpan<T> 型の特殊な規則が含まれています。 これらの型に対応する C# キーワードがないため、これらの型は組み込み型として分類されません。 C# 言語は、配列型と文字列型から Span<T> および ReadOnlySpan<T>への暗黙的な変換を定義します。 これらの変換により、Span 型がより自然なプログラミング シナリオに統合されます。 次の変換は、暗黙的なスパン変換 として定義されます。

  • 要素型が E から System.Span<E> への任意の 1 次元配列から
  • 要素型が E である任意の 1 次元配列から System.ReadOnlySpan<U> への変換 (E から U への共分散変換または ID 変換がある場合)
  • System.Span<E> から System.ReadOnlySpan<U>への移行の際に、EU へ共変変換または同一性変換を持つ場合
  • System.ReadOnlySpan<E> から System.ReadOnlySpan<U>まで、EU への共変変換または恒等変換を持つ場合
  • string から System.ReadOnlySpan<char>

コンパイラは、適用可能な 暗黙的なスパン変換 が存在する場合、ユーザー定義の変換を無視しません。 暗黙的なスパン変換は、拡張メソッドの最初の引数 (this 修飾子を持つパラメーター) に適用できます。 暗黙的なスパン変換は、メソッド グループ変換では考慮されません。

関連項目