欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

使用屬性模式代替 IsNullOrEmpty

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

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

屬性模式相當(dāng)靈活,你還可以把它用在數(shù)組上,對(duì)數(shù)組進(jìn)行各種判斷。比如判斷可空字符串?dāng)?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.");
}

剛開始你可能會(huì)覺得閱讀體驗(yàn)不太好,但用多了看多了,這種簡(jiǎn)潔的方法更有利于閱讀。

使用邏輯模式簡(jiǎn)化多重判斷

對(duì)于同一個(gè)值,把它與其它多個(gè)值進(jìn)行比較判斷,可以用 or 、and 邏輯模式簡(jiǎn)化,示例:

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)鍵字,通過(guò)這個(gè)示例就一目了然了。

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

總結(jié)

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

相關(guān)文章

  • C#窗體控件DataGridView常用設(shè)置

    C#窗體控件DataGridView常用設(shè)置

    這篇文章主要為大家詳細(xì)介紹了C#窗體控件DataGridView常用10項(xiàng)設(shè)置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • C#使用MD5算法對(duì)密碼進(jìn)行加密的示例代碼

    C#使用MD5算法對(duì)密碼進(jìn)行加密的示例代碼

    MD5(Message Digest Algorithm 5)是一種被廣泛使用的“消息-摘要算法”,“消息-摘要算法”實(shí)際上就是一個(gè)單項(xiàng)散列函數(shù),數(shù)據(jù)塊經(jīng)過(guò)單向散列函數(shù)得到一個(gè)固定長(zhǎng)度的散列值,本文給大家介紹了C#使用MD5算法對(duì)密碼進(jìn)行加密,需要的朋友可以參考下
    2024-03-03
  • C#實(shí)現(xiàn)FFT(遞歸法)的示例代碼

    C#實(shí)現(xiàn)FFT(遞歸法)的示例代碼

    FFT是數(shù)字信號(hào)處理中的重要算法。這篇文章將為大家詳細(xì)介紹一下如何利用C#語(yǔ)言實(shí)現(xiàn)FFT(遞歸法),文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-07-07
  • C#中partial關(guān)鍵字的作用

    C#中partial關(guān)鍵字的作用

    這篇文章主要介紹了C#中partial關(guān)鍵字的作用詳解,包括局部類型概念和注意點(diǎn)介紹,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下
    2017-03-03
  • C# 定時(shí)器定時(shí)更新的簡(jiǎn)單實(shí)例

    C# 定時(shí)器定時(shí)更新的簡(jiǎn)單實(shí)例

    這篇文章主要介紹了C#中定時(shí)器定時(shí)更新的簡(jiǎn)單實(shí)例。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-12-12
  • VS?Code里使用Debugger?for?Unity插件調(diào)試的方法(2023最新版)

    VS?Code里使用Debugger?for?Unity插件調(diào)試的方法(2023最新版)

    Debugger for Unity是一個(gè)非正式支持的,官方推薦的,應(yīng)用最廣的,Visual Studio Code上的Unity調(diào)試插件,這篇文章主要介紹了VS?Code里使用Debugger?for?Unity插件進(jìn)行調(diào)試(2023最新版),需要的朋友可以參考下
    2023-02-02
  • 詳解C#中有趣的?SourceGenerator生成器

    詳解C#中有趣的?SourceGenerator生成器

    源生成器是Roslyn編譯器的一個(gè)強(qiáng)大特性,允許開發(fā)者在編譯階段注入自定義代碼,本文通過(guò)一個(gè)實(shí)例探究源生成器的使用方法及其在AOT場(chǎng)景的應(yīng)用,并利用WinDbg工具深入分析Roslyn的內(nèi)部機(jī)制
    2024-10-10
  • 混合語(yǔ)言編程—C#使用原生的Directx和OpenGL繪圖的方法

    混合語(yǔ)言編程—C#使用原生的Directx和OpenGL繪圖的方法

    本文要說(shuō)的是混合C#和C/C++語(yǔ)言編程,在C#的Winform和WPF下使用原生的Direct和OpenGL進(jìn)行繪圖
    2013-09-09
  • C#實(shí)現(xiàn)把指定數(shù)據(jù)寫入串口

    C#實(shí)現(xiàn)把指定數(shù)據(jù)寫入串口

    這篇文章主要介紹了C#實(shí)現(xiàn)把指定數(shù)據(jù)寫入串口,直接給出示例代碼,需要的朋友可以參考下
    2015-06-06
  • Unity3D實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲(1)

    Unity3D實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲(1)

    這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06

最新評(píng)論