あなたはと呼ばれるインタフェースがある場合 - 例えば - IInterface
、このようなコードを書くことは完全に合法であるC#で:目的(メソッドはIInterface)
var i = default(IInterface);
をしかし、それは常にnull
を返します。
このようなユニークな結果を持つ表現を許可する目的は何ですか?インターフェイスは数値クラスまたは構造体クラスによっても実装できるため、デフォルトのnull
は使用できません。 default(IInterface)
をその言語で許可する理由は何ですか?
インターフェイスは参照型です:[Structs、Interfaces and Boxing](http://stackoverflow.com/questions/3032750/structs-interfaces-and-boxing) –
ジェネリックコードが重要です。そして、Nothingを使用するVB.NETコードを変換する必要があるときは非常に便利です。または、オプションの引数がIntPtrの場合、IntPtr.Zeroは使用できません。 –