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

C# 空值處理運算符??、?. 及其它常用符號

 更新時間:2025年11月20日 11:49:04   作者:siyun.chen  
本文主要介紹了C# 空值處理運算符??、?. 及其它常用符號,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、核心運算符:直接解決空值問題

1.??空合并運算符

  • 作用:左側(cè)為null時,返回右側(cè)值,否則返回左側(cè)值。
  • 代碼對比
    // 傳統(tǒng)寫法
    string name;
    if (input != null) {
        name = input;
    } else {
        name = "Unknown";
    }
    
    // 使用 ?? 簡化
    string name = input ?? "Unknown";
    

2.?.空條件運算符

  • 作用:安全訪問成員或方法,避免空引用異常。
  • 代碼對比
    // 傳統(tǒng)寫法(可能崩潰)
    int length = person.Address.City.Length;
    
    // 使用 ?. 安全訪問
    int? length = person?.Address?.City?.Length; // 任何一級為null則返回null
    

二、輔助運算符:擴展空值處理場景

3.??=空合并賦值(C# 8+)

  • 作用:變量為null時賦新值。
    List<int> data = null;
    data ??= new List<int>(); // 等效:if (data == null) data = new List<int>();
    

4.!非空斷言(C# 8+)

  • 作用:明確告訴編譯器“此處不為null”,慎用!
    string? text = GetText();
    Console.WriteLine(text!.Length); // 開發(fā)者保證text非空
    

三、其他常用運算符:提升代碼效率

5.?:三元運算符

  • 作用:簡化條件判斷。
    string status = score > 60 ? "通過" : "未通過";
    

6.as安全類型轉(zhuǎn)換

  • 作用:轉(zhuǎn)換失敗返回null,不拋異常。
    object obj = "Hello";
    string str = obj as string; // 成功返回字符串,失敗返回null
    

7.is類型檢查與模式匹配(C# 7+)

  • 作用:類型判斷與值提取一步到位。
    if (obj is int number) {
        Console.WriteLine($"數(shù)字:{number}");
    }
    

四、速查表:運算符使用場景

問題場景運算符示例代碼等效傳統(tǒng)寫法
變量為空時使用默認值??var result = value ?? 0;value != null ? value : 0
安全訪問可能為空的對象?.var city = person?.Address?.City;if (person != null) person.Address...
延遲初始化??=list ??= new List();if (list == null) list = new...
明確斷言變量非空!text!.Trim();無直接等效(需自行確保非空)

五、避坑指南

  1. 別濫用 ! 運算符

    // 錯誤用法:隱藏潛在的空引用風險
    var length = GetNullableString()!.Length; 
    // 正確做法:優(yōu)先使用 ?? 或 ?.
    var safeLength = GetNullableString()?.Length ?? 0;
    
  2. 值類型可空處理

    int? nullableInt = null;
    int value = nullableInt ?? -1; // 必須處理null!
    

到此這篇關(guān)于C# 空值處理運算符??、?. 及其它常用符號的文章就介紹到這了,更多相關(guān)C# 空值處理運算符 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

全南县| 建德市| 剑阁县| 长海县| 松溪县| 广宗县| 施甸县| 汉沽区| 万山特区| 梁平县| 敖汉旗| 阜宁县| 大竹县| 桦川县| 荣成市| 富锦市| 保德县| 蒙自县| 锦州市| 霍邱县| 呼伦贝尔市| 朝阳市| 林西县| 双鸭山市| 淮南市| 富锦市| 仪征市| 桐乡市| 额尔古纳市| 哈密市| 桂林市| 肥城市| 东乌| 嘉义市| 青州市| 北川| 崇阳县| 仁寿县| 九龙城区| 三河市| 同德县|