显然您不能在 Silverlight 中使用 Nullable
今天不小心启动了一个小comment flamewar在声明“Rectangle”类型不是 Nullable 类型之后。那就是你不能有“Nullable
我的错误在于仅在 Silverlight 中对其进行测试,并假设 Silverlight System.Windows.Shapes.Rectangle 的行为会转移到 .Net 中的 System.Drawing.Rectangle 类型。我真丢人。我已经删除了我的评论,因为它们对 Stack Overflow 没有任何值(value)。
如果有人能完整地回答这个问题,我们将不胜感激。
最佳答案
Nullable<T>
只能与值类型或结构一起使用,而 System.Windows.Shapes.Rectangle 是引用类型或类。您不需要使用 Nullable<T>
,因为您已经可以将空引用分配给 System.Windows.Shapes.Rectangle 类型的变量:
System.Windows.Shapes.Rectangle rect = null;
相比之下,System.Drawing.Rectangle 是一个值类型,因此它的值不能为 null。默认值是一个全为零的矩形。
System.Drawing.Rectangle rect = null; // Does not compile
System.Drawing.Rectangle rect =
default(System.Drawing.Rectangle); // All fields are zero
关于c# - 为什么某些 Silverlight 对象不能是 Nullable<> 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3595343/