C# の
Default は通常、switch ステートメントまたは汎用コードで使用されます。switch ステートメントでは、default は大文字と小文字の一致を処理するためのデフォルトの状況です。ジェネリックスでデフォルトを使用する場合は 2 つの状況があります。参照型ではジェネリック型が null に初期化され、値型ではジェネリック型が 0
default に初期化されます。キーワードは switch ステートメントまたは汎用コードで使用できます。
switch ステートメント: デフォルトのラベルを指定します。
汎用コード: type パラメーターのデフォルト値を指定します。参照型の場合は null、値型の場合は 0
switch ステートメント
switch ステートメントでは、switch 値に一致する case 式がない場合、制御が渡されます。オプションのデフォルトのラベル。デフォルトのラベルがない場合、制御はスイッチの外部に渡されます。
switch (key) { case 1: Console.WriteLine("1"); break; case 2: Console.WriteLine("2"); break; default: Console.WriteLine("Sorry, no one matches!"); break; }
ジェネリック コード
ジェネリック クラスおよびジェネリック メソッドにおいて、以下の状況が事前に不明な場合にパラメータ化にデフォルト値を割り当てる方法T:
T は参照型または値型です。
T が値型の場合、それが数値であるか構造体であるか。
パラメータ化された型 T の変数 t が与えられた場合、ステートメント t = null は、T が参照型である場合にのみ有効です。ステートメント t = 0 は、T が構造体ではなく数値型である場合にのみ通常使用できます。 . .解決策は、default キーワードを使用することです。このキーワードは、参照型の場合は null を返し、数値型の場合は 0 を返します。構造体の場合、このキーワードは、構造体が値型であるか参照型であるかに応じて、ゼロまたは空に初期化された各構造体メンバーを返します。
public class GenericClass<T> { public T Function(arg) { T temp = default(T); if (arg != null) temp = arg.Favs; return temp; } //... } 注意:不仅可以在定义泛型类或者泛型方法的代码中可以使用default关键字,甚至在任何地方都可以使用该关键字 如下面代码。 static void Main(string[] args) { Console.WriteLine(default(int)); Console.WriteLine(default(string)); Console.WriteLine(default(Color)); }
出力:
行1: 0 行2: 行3: Color [Empty]
以上がC# でのデフォルトの意味の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。