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
```
- Visual Studio 2022安裝到非C盤
- .net平臺區別
- 常用單詞
- 關鍵字
- 操作符(運算符)
- 標識符(命名規范)
- 開始
- 變量
- 常量
- 數據類型
- 值類型
- 變量數據類型
- 枚舉類型enum(常量集合)
- 結構類型struct(結構體)
- 元組類型
- 可null類型(T?)
- 引用類型
- 數組(array)
- 集合(List)
- 內置引用類型
- object
- string
- Dynamic(動態類型)
- delegate委托(代理)類型
- 自定義引用類型
- 接口(interface)
- 類class
- record(定義一個引用類型)
- 指針類型(僅用于非安全代碼)
- get和set訪問器
- delegate委托
- delegate實現發布訂閱與事件
- 類型轉換
- 合并操作符??
- 類相關
- Partial 部分類
- 類定義以及訪問修飾符(封裝)
- abstract抽象類與sealed密封類
- virtual虛方法
- 接口interface
- C# 預處理器指令
- C#技術棧
- 判斷(流程控制)與三元運算
- if
- switch
- 三元運算
- 循環
- while 循環
- for循環
- foreach循環
- do...while 循環
- 文件操作
- 其他
- 多開