可以为值的值类型

Joa*_*nge 0 .net c# nullable value-type

如果值类型被声明为可为空,那么我该如何采取预防措施呢?即如果在构造函数中我有:

public Point3 ( Point3 source )
{
    this.X = source.X;
    this.Y = source.Y;
    this.Z = source.Z;
}
Run Code Online (Sandbox Code Playgroud)

如果来源为空,它会失败吗?

Meh*_*ari 10

我没有看到的可能性Point3null如果它是一个值类型.你不想错过问号吗?如果你的意思是Point3?,那么你应该访问它:

public Point3 ( Point3? source )
{
    this.X = source.Value.X;
    this.Y = source.Value.Y;
    this.Z = source.Value.Z;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果是Value属性,属性将抛出异常null.