利用C 9 0新語法如何提公升if語句美感

2022-09-26 01:45:08 字數 1159 閱讀 2153

前言

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

使用屬性模式代替 isnullorempty

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

string? hello = "hello world";

hello = null;

// 舊的方式

if (!string.isnullorempty(hello))

has letters.");

}// 新的方式

if (hello is )

has letters.");

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

string?? greetings = fgepnlbwknew string[2];

greetings[0] = "hello world程式設計客棧";

greetings = null;

// 舊的方式

if (greetings != null && !string.isnullorempty(greetings[0]))

has letters.");

}// 新的方式

if (greetings?[0] is hi)

has letters.");

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

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

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

consolekeyinfo userinput = console.readkey();

// 舊的方式

if (userinput.keychar == 'y' || userinput.keychar == 'y')

// 新的方式

if (userinput.keychar is 'y' or 'y')

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

後面還會繼續分享一些 c# 9.0 的新姿勢,也期待你的分享。

總結

使用 C 9 0 新語法提公升 if 語句美感

c 語言一貫秉承簡潔優美的宗旨,每次公升級都會帶來一些語法糖,讓我們可以使 變得更簡潔。本文分享兩個使用 c 9.0 提公升if語句美感的技巧示例。在任何你使用isnullorempty的時候,可以考慮這樣替換 string?hello hello world hello null 舊的方式 if ...

C 9 0中的新增功能 譯

what s new in c 9.0 c 9.0中的新增功能 features and enhancements 特徵和增強特徵 records 記錄init only setters 僅限init的資源庫 top level statements 頂級語句 pattern matching en...

C 9 0 新特性預覽 空引數校驗

簡便的空引數校驗 simplified null argument checking 目的這個特性主要是為了更簡便的檢查方法的引數是否為 null 並丟擲 argumentnullexceptiony 異常。語法語法很簡單,在引數名後加個嘆號即可 voidm string name 以上 會被翻譯為...