这个问题比任何事情都更加好奇......
假设有一个类:
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
. 我对可空类型的概念不熟悉,所以这引起了我的好奇心!(我的 Visual Studio 处于崩溃状态,或者我会自己测试)