1. 使用 C# 9.0 新語法提升 if 語句美感

        共 1514字,需瀏覽 4分鐘

         ·

        2024-07-13 22:47

        C# 語言一貫秉承簡潔優(yōu)美的宗旨,每次升級都會帶來一些語法糖,讓我們可以使代碼變得更簡潔。本文分享兩個使用 C# 9.0 提升 if 語句美感的技巧示例。

        使用屬性模式代替 IsNullOrEmpty

        在任何你使用 IsNullOrEmpty 的時候,可以考慮這樣替換:

        string? hello = "hello world";
        hello = null;

        // 舊的方式
        if (!string.IsNullOrEmpty(hello))
        {
        Console.WriteLine($"{hello} has {hello.Length} letters.");
        }

        // 新的方式
        if (hello is { Length: >0 })
        {
        Console.WriteLine($"{hello} has {hello.Length} letters.");
        }

        屬性模式相當靈活,你還可以把它用在數組上,對數組進行各種判斷。比如判斷可空字符串數組中的字符串元素是否為空或空白:

        string?[]? greetings = new string[2];
        greetings[0] = "Hello world";
        greetings = null;

        // 舊的方式
        if (greetings != null && !string.IsNullOrEmpty(greetings[0]))
        {
        Console.WriteLine($"{greetings[0]} has {greetings[0].Length} letters.");
        }

        // 新的方式
        if (greetings?[0] is {Length: > 0} hi)
        {
        Console.WriteLine($"{hi} has {hi.Length} letters.");
        }

        剛開始你可能會覺得閱讀體驗不太好,但用多了看多了,這種簡潔的方法更有利于閱讀。

        使用邏輯模式簡化多重判斷

        對于同一個值,把它與其它多個值進行比較判斷,可以用 or 、and 邏輯模式簡化,示例:

        ConsoleKeyInfo userInput = Console.ReadKey();

        // 舊的方式
        if (userInput.KeyChar == 'Y' || userInput.KeyChar == 'y')
        {
        Console.WriteLine("Do something.");
        }

        // 新的方式
        if (userInput.KeyChar is 'Y' or 'y')
        {
        Console.WriteLine("Do something.");
        }

        之前很多人不解 C# 9.0 為什么要引入 or 、and 邏輯關鍵字,通過這個示例就一目了然了。

        后面還會繼續(xù)分享一些 C# 9.0 的新姿勢,也期待你的分享。







        回復 【關閉】學永久關閉App開屏廣告
        回復 【刪除】學自動檢測那個微信好友刪除、拉黑
        回復 【手冊】獲取3萬字.NET、C#工程師面試手冊
        回復 【幫助】獲取100+個常用的C#幫助類庫
        回復 【加群】加入DotNet學習交流群

        瀏覽 133
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 北条麻妃黄色视频 | 淫色成人视频 | chinese勾搭少妇videos | 91狠狠综合久 | 日韩天堂久久 |