Nullable对象的类

jul*_*win 1 c# logic nullable class

这个问题更像是一种好奇心......

假设有一个类:

public class Foo{
public int? x {get; set;}
public int? y {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

在项目实例的某处创建了:

var foo1= new Foo
         {
           x= 1;
           y= 1;
         };

var foo2= new Foo
         {
           x= 1;
           y= 1;
         };
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因他们想检查是否相互相等并将它们设置为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");
}
Run Code Online (Sandbox Code Playgroud)

哪个会打印?

foo1的实例存在,但它的所有对象都设置为NULL.我对可空类型的概念不熟悉,所以这给我带来了好奇心!(我的Visual Studio是在fritz或我自己测试)

小智 5

我有两只手.如果我的两只手是空的,这是否意味着我不存在?

变量的null状态不依赖于它指向的实例的任何属性.