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

利用C#9.0新語法如何提升if語句美感

 更新時間:2020年11月06日 09:56:35   作者:精致碼農(nóng) • 王亮  
這篇文章主要給大家介紹了關(guān)于利用C# 9.0新語法如何提升if語句美感的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

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.");
}

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

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 邏輯關(guān)鍵字,通過這個示例就一目了然了。

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

總結(jié)

到此這篇關(guān)于利用C#9.0新語法如何提升if語句美感的文章就介紹到這了,更多相關(guān)C#9.0新語法提升if語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#基礎(chǔ)教程之IComparable用法,實現(xiàn)List<T>.sort()排序

    C#基礎(chǔ)教程之IComparable用法,實現(xiàn)List<T>.sort()排序

    這篇文章主要介紹了C#的一些基礎(chǔ)知識,主要是IComparable用法,實現(xiàn)List<T>.sort()排序,非常的實用,這里推薦給大家。
    2015-02-02
  • C# Winform使用log4net進行日志記錄

    C# Winform使用log4net進行日志記錄

    Log4Net是從Java的log4j移植過來的,功能也與log4j類似,可以把日志信息輸出到文件、數(shù)據(jù)庫等不同的介質(zhì)或目標,下面我們就來學(xué)習(xí)一下如何使用log4net進行日志記錄吧
    2023-11-11
  • 一篇文章教會你用Unity制作網(wǎng)格地圖生成組件

    一篇文章教會你用Unity制作網(wǎng)格地圖生成組件

    網(wǎng)格地圖這個功能在策略型游戲中應(yīng)用比較廣泛,基本情況下會將地圖分割成正方形網(wǎng)格或者六邊形網(wǎng)格,這篇文章主要給大家介紹了如何通過一篇文章學(xué)會用Unity制作網(wǎng)格地圖生成組件的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • C#中Arraylist的sort函數(shù)用法實例分析

    C#中Arraylist的sort函數(shù)用法實例分析

    這篇文章主要介紹了C#中Arraylist的sort函數(shù)用法,較為詳細的分析了ArrayList的sort函數(shù)的功能、定義及具體使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • C#連接Oracle數(shù)據(jù)庫的方法

    C#連接Oracle數(shù)據(jù)庫的方法

    這篇文章主要介紹了C#連接Oracle數(shù)據(jù)庫的方法,實例分析了C#連接Oracle數(shù)據(jù)庫的方法與主要實現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06
  • C#頁面之間跳轉(zhuǎn)功能的小結(jié)

    C#頁面之間跳轉(zhuǎn)功能的小結(jié)

    在兩個ASP.NET頁面之間傳遞值
    2013-03-03
  • C#中FileSystemWatcher的使用教程

    C#中FileSystemWatcher的使用教程

    這篇文章主要給大家介紹了關(guān)于C#中FileSystemWatcher使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C#中float的取值范圍和精度分析

    C#中float的取值范圍和精度分析

    這篇文章主要介紹了C#中float的取值范圍和精度,較為詳細的分析了float的取值范圍與表示方法及精度等概念,有助于深入了解C#數(shù)據(jù)類型,需要的朋友可以參考下
    2014-11-11
  • C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法

    C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法

    本文主要介紹了C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法:利用反射,讀取一個類型的所有屬性,然后再把屬性轉(zhuǎn)換成XML元素的屬性或者子元素。下面注釋比較完整,需要的朋友可以看下
    2016-12-12
  • C# 實現(xiàn)拖拉控件改變位置與大小的方法

    C# 實現(xiàn)拖拉控件改變位置與大小的方法

    下面小編就為大家分享一篇C# 實現(xiàn)拖拉控件改變位置與大小的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01

最新評論

宁化县| 乐陵市| 铁岭市| 贵定县| 四平市| 射洪县| 禹州市| 雷州市| 南川市| 普兰县| 珠海市| 汾阳市| 合阳县| 封丘县| 称多县| 枞阳县| 波密县| 孟州市| 闻喜县| 廉江市| 屯留县| 枣阳市| 东宁县| 铜梁县| 昭苏县| 龙川县| 科尔| 舞钢市| 玉门市| 武宁县| 杭锦旗| 长丰县| 梅州市| 金堂县| 六盘水市| 武强县| 内黄县| 潢川县| 安丘市| 府谷县| 乳源|