これは可能ですか?
private void Test(out List<ExampleClass>? ExClass)
{
}
out パラメータでもある null 許容 List<> ?
List<T>
は参照型 (クラス) であるため、no?
は必要ありません。メソッド本体のパラメータに代入null
するだけです。ExClass
アントンが言ったように、使用する必要はありませんがNullable<T>
、確かにout
パラメーターになる可能性があります。
private void Test(out List<ExampleClass> foo)
nullableList<T>
と、List<T?>
値の型に有効な a を混同している可能性があります...たとえば、次のように使用できます。
private void Test(out List<Guid?> foo)
これは、null 許容 GUID のリストである出力パラメーターになります。
一方で、メソッドにout
パラメーターを含めることは一般的に良いことではありません。通常は、代わりにパラメーターを戻り値の型として使用する必要があります。void
?
null 許容の ValueTypes にのみ使用します。
ここでは、out
パラメーターであるかどうかは関係ありません。Nullable<T>
しかし、クラスで を作成することはできません。T
構造体でなければなりません。そうしないと、コンパイラが文句を言います。
これに加えて、パラメーターの名前を大文字にすることは悪いスタイルと見なされます ( のexClass
代わりに使用しますExClass
)。あなたのプログラムは同じように動作しますが、あなたのコードを読んだ人は誤解を招く可能性があります。