成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# 可控類型,你知道幾個?

開發 后端
C# 單問號 ? 與 雙問號 ?? ? : 單問號用于對 int,double,bool 等無法直接賦值為 null 的數據類型進行 null 的賦值,意思是這個數據類型是 Nullable 類型的。

 [[392693]]

本文轉載自微信公眾號「后端Q」,作者conan。轉載本文請聯系后端Q公眾號。   

C# 單問號 ? 與 雙問號 ?? ? : 單問號用于對 int,double,bool 等無法直接賦值為 null 的數據類型進行 null 的賦值,意思是這個數據類型是 Nullable 類型的。

  1. int? i = 3; 

等同于:

  1. Nullable<int> i = new Nullable<int>(3); 
  2. int i; //默認值0 
  3. int? ii; //默認值null 

?? : 雙問號 可用于判斷一個變量在為 null 時返回一個指定的值。

接下來我們詳細說明。

C# 可空類型(Nullable)

C# 提供了一個特殊的數據類型,nullable 類型(可空類型),可空類型可以表示其基礎值類型正常范圍內的值,再加上一個 null 值。

例如,Nullable< Int32 >,讀作"可空的 Int32",可以被賦值為 -2,147,483,648 到 2,147,483,647 之間的任意值,也可以被賦值為 null 值。類似的,Nullable< bool > 變量可以被賦值為 true 或 false 或 null。

在處理數據庫和其他包含可能未賦值的元素的數據類型時,將 null 賦值給數值類型或布爾型的功能特別有用。例如,數據庫中的布爾型字段可以存儲值 true 或 false,或者,該字段也可以未定義。

聲明一個 nullable 類型(可空類型)的語法如下:

  1. < data_type> ? <variable_name> = null

下面的實例演示了可空數據類型的用法:

實例

  1. using System; 
  2. namespace CalculatorApplication 
  3.    class NullablesAtShow 
  4.    { 
  5.       static void Main(string[] args) 
  6.       { 
  7.          int? num1 = null
  8.          int? num2 = 45; 
  9.          double? num3 = new double?(); 
  10.          double? num4 = 3.14157; 
  11.           
  12.          bool? boolval = new bool?(); 
  13.  
  14.          // 顯示值 
  15.           
  16.          Console.WriteLine("顯示可空類型的值: {0}, {1}, {2}, {3}"
  17.                             num1, num2, num3, num4); 
  18.          Console.WriteLine("一個可空的布爾值: {0}", boolval); 
  19.          Console.ReadLine(); 
  20.  
  21.       } 
  22.    } 

當上面的代碼被編譯和執行時,它會產生下列結果:

顯示可空類型的值:, 45, , 3.14157 一個可空的布爾值:

Null 合并運算符( ?? )

Null 合并運算符用于定義可空類型和引用類型的默認值。Null 合并運算符為類型轉換定義了一個預設值,以防可空類型的值為 Null。Null 合并運算符把操作數類型隱式轉換為另一個可空(或不可空)的值類型的操作數的類型。

如果第一個操作數的值為 null,則運算符返回第二個操作數的值,否則返回第一個操作數的值。下面的實例演示了這點:

實例

  1. using System; 
  2. namespace CalculatorApplication 
  3.    class NullablesAtShow 
  4.    { 
  5.           
  6.       static void Main(string[] args) 
  7.       { 
  8.           
  9.          double? num1 = null
  10.          double? num2 = 3.14157; 
  11.          double num3; 
  12.          num3 = num1 ?? 5.34;      // num1 如果為空值則返回 5.34 
  13.          Console.WriteLine("num3 的值: {0}", num3); 
  14.          num3 = num2 ?? 5.34; 
  15.          Console.WriteLine("num3 的值: {0}", num3); 
  16.          Console.ReadLine(); 
  17.  
  18.       } 
  19.    } 

當上面的代碼被編譯和執行時,它會產生下列結果:

  1. num3 的值:5.34 
  2. num3 的值:3.14157 

 

責任編輯:武曉燕 來源: 后端Q
相關推薦

2024-01-18 00:16:07

2019-11-12 08:53:32

PG數據數據庫

2022-02-21 07:04:44

C#表達式運算符

2020-11-17 08:07:29

存儲類型瀏覽器

2023-12-06 14:23:24

2021-03-02 07:33:13

開發C#字符

2023-04-27 08:15:09

2021-10-12 09:20:02

數據庫SQL腳本

2021-02-27 17:13:21

前端代碼邏輯

2009-06-05 10:24:37

C#排序排序

2025-03-25 10:49:13

2024-12-31 00:08:37

C#語言dynamic?

2024-05-10 07:44:23

C#進程程序

2024-09-12 08:20:39

2016-09-19 14:42:12

大數據SQLPig

2018-11-07 15:44:29

虛擬化服務器桌面

2020-01-09 09:56:47

Java集合框架

2020-02-23 23:29:07

Python編程開發

2024-03-01 13:48:00

Git配置系統

2018-04-26 09:03:48

ApacheWeb服務器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 二区在线观看 | 欧美久久久久 | 欧美黄色网 | 色视频欧美 | 欧美a级成人淫片免费看 | 国产一区二区三区四区在线观看 | 酒色成人网 | 亚洲视频免费 | 国产在线视频一区二区 | 日韩成人久久 | 精品日韩一区二区 | 久久免费福利 | 国产精品视频在线免费观看 | 国产美女精品视频免费观看 | 中文字幕第一页在线 | 狠狠干美女 | 成人免费看片网 | 成人午夜在线 | 亚洲午夜精品一区二区三区他趣 | 久久久久一区二区三区四区 | 日本免费一区二区三区视频 | 久久久久久久久91 | 成人毛片视频免费 | 福利精品 | 久久男人| 欧美亚洲国产一区二区三区 | 久久亚洲国产精品 | 国产精品国产a级 | 2一3sex性hd | 日韩伦理一区二区三区 | 欧美一区二区精品 | 日韩久久成人 | 中文字幕第90页 | 亚洲欧美日韩精品久久亚洲区 | 日韩av福利在线观看 | 日韩精品一区二区三区在线观看 | 91av在线视频观看 | 日本超碰 | 91在线视频免费观看 | 国产91在线观看 | 欧美日韩视频 |