この質問は何よりも好奇心です...
次のようなクラスがあるとします。
public class Foo{
public int? x {get; set;}
public int? y {get; set;}
}
そして、プロジェクトのどこかにインスタンスが作成されました:
var foo1= new Foo
{
x= 1;
y= 1;
};
var foo2= new Foo
{
x= 1;
y= 1;
};
何らかの理由で、互いに等しいかどうかを確認し、等しいかどうかを設定しNULL
て画面に出力したい場合...
元:
if(foo1.x == foo2.x)
foo1.x = null;
if(foo1.y == foo2.y)
foo1.y = null;
if(foo1 == null){
Console.WriteLine("foo1 is NULL");
}else{
Console.WriteLine("foo1 is not NULL");
}
どちらが印刷されますか?
foo1 のインスタンスは存在しますが、そのオブジェクトはすべて に設定されていNULL
ます。私はnull許容型の概念に慣れていないので、これは私の好奇心を刺激しました! (私のVisual Studioはフリッツにあるか、自分でテストします)