成人免费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-10-12 09:20:02

數據庫SQL腳本

2021-02-27 17:13:21

前端代碼邏輯

2023-04-27 08:15:09

2021-03-02 07:33:13

開發C#字符

2009-06-05 10:24:37

C#排序排序

2025-03-25 10:49:13

2024-12-31 00:08:37

C#語言dynamic?

2020-01-09 09:56:47

Java集合框架

2020-02-23 23:29:07

Python編程開發

2019-07-12 08:45:07

開源微服務框架

2018-04-26 09:03:48

ApacheWeb服務器

2019-08-29 09:15:30

負載均衡算法備份

2024-02-26 00:00:00

前端工具Space.js

2023-08-01 11:14:07

開源Api軟件

2024-03-01 13:48:00

Git配置系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费观看一级毛片视频 | 国产不卡一 | 成人天堂噜噜噜 | 国产成人99久久亚洲综合精品 | 成人免费在线观看 | 国产乱码一二三区精品 | 久久久久无码国产精品一区 | 欧美性生活一区二区三区 | 91精品久久久久久综合五月天 | 日韩av第一页| 黄色操视频| www国产精 | 精品国产一区二区三区久久久久久 | 精品视频一区二区三区四区 | 久久美女网| 精品日韩一区二区三区 | 国产一区二区三区高清 | 亚洲精品一区二区二区 | 国产精品一区二区av | 激情欧美一区二区三区 | 国产精品999 | 视频在线亚洲 | 黄色成人在线网站 | 国产精品久久久久久久久 | 精品乱子伦一区二区三区 | 亚洲视频在线看 | 久久亚洲一区 | 国产精品一区二区久久久久 | 综合久久亚洲 | 国产欧美精品一区二区三区 | www.五月婷婷.com | 五月网婷婷 | 高清国产午夜精品久久久久久 | 精品中文字幕一区 | 性一交一乱一伦视频免费观看 | 日韩欧美精品一区 | 国产做a爱片久久毛片 | 欧美激情综合 | 一区二区在线看 | 成人免费观看男女羞羞视频 | 午夜视频在线免费观看 |