C#中? 、?? 、?. 、??= 的用法和说明
生活随笔
收集整理的這篇文章主要介紹了
C#中? 、?? 、?. 、??= 的用法和说明
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、可空類型修飾符< ? >
引用類型能用空引用來表示一個(gè)表示一個(gè)不存在的值,但是值類型不能。例如:
string str = null; int i = null;//編譯報(bào)錯(cuò)為了使值類型也能使用可空類型,就可以用 " ? "來表示,表現(xiàn)形式為"T?"。例如:
int i? //表示可空的整型 DateTime time? //表示可空的時(shí)間?
二、空合并運(yùn)算符< ??? >?
用于定義引用類型和可空類型的默認(rèn)值。如果此運(yùn)算符的左操作數(shù)不為Null,則此操作符將返回左操作數(shù),否則返回右操作數(shù)。
var c = a??b //當(dāng)a不為null時(shí)返回a,為null時(shí)返回b?
三、< ?. >?
不為null時(shí)執(zhí)行后面的操作。例如:
Person.Name?.Person.Code Person.Name = Person == null ? null : Person.Code //兩段代碼等效?
四、< ??= >?
C# 8.0 引入了 null 合并賦值運(yùn)算符???=。?僅當(dāng)左操作數(shù)計(jì)算為?null?時(shí),才能使用運(yùn)算符???=?將其右操作數(shù)的值分配給左操作數(shù)。
List<int> numbers = null; int? i = null;numbers ??= new List<int>(); numbers.Add(i ??= 17); numbers.Add(i ??= 20);Console.WriteLine(string.Join(" ", numbers)); // output: 17 17 Console.WriteLine(i); // output: 17?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的C#中? 、?? 、?. 、??= 的用法和说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php文件怎么设置隐藏显示代码,php文
- 下一篇: c# char unsigned_dll