企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
T表示所有的基础值类型如:bool、int、char、double等 **定义可为null的变量** ``` double? pi = 3.14; char? letter = 'a'; int m2 = 10; int? m = m2; bool? flag = null; // An array of a nullable value type: int?[] arr = new int?[10]; int? c = 7; if (c != null) { Console.WriteLine($"c is {c.Value}"); } else { Console.WriteLine("c does not have a value"); } // Output: // c is 7 ``` 始终可以使用以下只读属性来检查和获取可为空值类型变量的值: * [Nullable.HasValue](https://learn.microsoft.com/zh-cn/dotnet/api/system.nullable-1.hasvalue)指示可为空值类型的实例是否有基础类型的值。 * 如果[HasValue](https://learn.microsoft.com/zh-cn/dotnet/api/system.nullable-1.hasvalue)为`true`,则[Nullable.Value](https://learn.microsoft.com/zh-cn/dotnet/api/system.nullable-1.value)获取基础类型的值。 如果[HasValue](https://learn.microsoft.com/zh-cn/dotnet/api/system.nullable-1.hasvalue)为`false`,则[Value](https://learn.microsoft.com/zh-cn/dotnet/api/system.nullable-1.value)属性将引发[InvalidOperationException](https://learn.microsoft.com/zh-cn/dotnet/api/system.invalidoperationexception)。 以下示例中的使用`HasValue`属性在显示值之前测试变量是否包含该值: ``` int? b = 10; if (b.HasValue) { Console.WriteLine($"b is {b.Value}"); } else { Console.WriteLine("b does not have a value"); } // Output: // b is 10 ```