最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# ?? 空合并運算符用法小結(jié)

 更新時間:2025年11月27日 09:25:36   作者:張工想跑路  
空合并運算符用于檢查左側(cè)操作數(shù)是否為 null,本文主要介紹了C# ?? 空合并運算符用法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

空合并運算符(??)的基本用法

空合并運算符(??)用于檢查左側(cè)操作數(shù)是否為 null。如果左側(cè)操作數(shù)為 null,則返回右側(cè)操作數(shù)的值;否則返回左側(cè)操作數(shù)的值。語法形式為:

result = leftOperand ?? rightOperand;

示例:

string name = null;
string defaultName = "John Doe";
string displayName = name ?? defaultName; // 結(jié)果為 "John Doe"

空合并賦值運算符(??=)

C# 8.0 引入了空合并賦值運算符(??=),用于簡化對變量為 null 時的賦值操作。如果左側(cè)操作數(shù)為 null,則將右側(cè)操作數(shù)的值賦給左側(cè)操作數(shù)。

leftOperand ??= rightOperand;

示例:

List<int> numbers = null;
numbers ??= new List<int>(); // 若 numbers 為 null,則初始化為新列表

鏈式空合并運算符

可以連續(xù)使用多個 ?? 運算符,從左到右依次檢查每個操作數(shù)是否為 null,返回第一個非 null 的值。

string value1 = null;
string value2 = null;
string value3 = "Hello";
string result = value1 ?? value2 ?? value3 ?? "Default"; // 結(jié)果為 "Hello"

與三元運算符的結(jié)合

空合并運算符可以與條件運算符(?:)結(jié)合使用,處理更復(fù)雜的邏輯。

string name = null;
string result = name != null ? name : "Default"; // 等價于 name ?? "Default"

在屬性初始化中的應(yīng)用

空合并運算符常用于屬性的初始化,確保屬性不為 null。

private string _name;
public string Name
{
    get => _name ?? "Default";
    set => _name = value;
}

與可空值類型的結(jié)合

可空值類型(如 int?)也可以使用空合并運算符提供默認值。

int? nullableInt = null;
int actualInt = nullableInt ?? 0; // 若 nullableInt 為 null,返回 0

注意事項

  • 右側(cè)操作數(shù)可以是常量、變量或表達式,但會在左側(cè)操作數(shù)為 null 時才會計算。
  • 空合并運算符不會對值類型進行隱式轉(zhuǎn)換,需確保左右操作數(shù)類型兼容。
  • 在 C# 9.0 及以上版本,可與模式匹配結(jié)合使用,實現(xiàn)更靈活的邏輯。

到此這篇關(guān)于C# ?? 空合并運算符用法小結(jié)的文章就介紹到這了,更多相關(guān)C# ?? 空合并運算符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

方正县| 西峡县| 涿鹿县| 鹤庆县| 治县。| 太保市| 修文县| 黔西县| 镇巴县| 波密县| 天水市| 莆田市| 江川县| 宁城县| 桂东县| 祥云县| 和龙市| 中超| 德保县| 太原市| 华池县| 桑日县| 元朗区| 汕尾市| 盐山县| 隆回县| 涟水县| 望奎县| 锡林郭勒盟| 刚察县| 融水| 晋宁县| 师宗县| 拜城县| 夏津县| 五家渠市| 奉化市| 白水县| 洪雅县| 阜城县| 岐山县|