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

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

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

前言

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#窗體控件DataGridView常用設置

    C#窗體控件DataGridView常用設置

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

    C#使用MD5算法對密碼進行加密的示例代碼

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

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

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

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

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

    C# 定時器定時更新的簡單實例

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

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

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

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

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

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

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

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

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

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

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

最新評論