Boost Asked:2024-09-08 16:30:28 +0000 UTC2024-09-08 16:30:28 +0000 UTC 2024-09-08 16:30:28 +0000 UTC 为什么需要将值类型设为 null? [复制] 772 整数?值=空; null针对引用类型,引用类型默认为null,值类型为0;那么在什么情况下您可能需要分配给空值类型呢? c# 2 个回答 Voted Best Answer aepot 2024-09-08T16:49:37Z2024-09-08T16:49:37Z 例如,在序列化/反序列化过程中与 JSON 中的某些数据结构兼容。 想象一下服务器可以发送这样的 JSON 响应 { "value": 0 } 或者也许像这样 { "value": null } 或者甚至像这样 { } 你怎么知道0它是否已到达或什么都没有?没有办法不使用可空类型。更准确地说,这会困难得多。 public class Model { public int? Value { get; set; } } 嗯,这取决于需求。这只是添加到现有类型中的另一组类型。 rotabor 2024-09-08T16:50:59Z2024-09-08T16:50:59Z 生活中常常会出现没有数据或不可靠的情况。在这种情况下,您可以使用 null。 如果在这种情况下使用0,那么这已经是一个完全确定的量了。 为了处理此类数据,提供了“ Nullable<T> ”类型: int? Value = null; if (Value.HasValue) ... 在使用可以声明任何字段可为空的数据库时,此类类型被广泛使用。此类字段由可空类型精确描述。
例如,在序列化/反序列化过程中与 JSON 中的某些数据结构兼容。
想象一下服务器可以发送这样的 JSON 响应
或者也许像这样
或者甚至像这样
你怎么知道
0它是否已到达或什么都没有?没有办法不使用可空类型。更准确地说,这会困难得多。嗯,这取决于需求。这只是添加到现有类型中的另一组类型。
生活中常常会出现没有数据或不可靠的情况。在这种情况下,您可以使用 null。
如果在这种情况下使用0,那么这已经是一个完全确定的量了。
为了处理此类数据,提供了“ Nullable<T> ”类型:
在使用可以声明任何字段可为空的数据库时,此类类型被广泛使用。此类字段由可空类型精确描述。