公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# 語法糖總結(jié)25條

admin
2023年6月17日 8:41 本文熱度 1273

C# 語法糖是 C# 編程語言中為了簡(jiǎn)化代碼和提高代碼可讀性而引入的一系列語言特性。這些特性在編譯時(shí)會(huì)被轉(zhuǎn)換成更基本的代碼形式,但在編寫代碼時(shí)提供了更加簡(jiǎn)潔和直觀的方式。以下是對(duì) C# 中常見語法糖的一個(gè)總結(jié):

1.表達(dá)式體屬性:使用 => 運(yùn)算符定義屬性的 getter 或 setter。

public string FullName => FirstName + " " + LastName;

2.隱式類型局部變量(var 關(guān)鍵字):編譯器根據(jù)初始化表達(dá)式推斷變量的類型。

var number = 42// 推斷為 int 類型

3.Lambda 表達(dá)式:定義匿名函數(shù)的簡(jiǎn)潔方式。

Func<intintintadd = (x, y) => x + y;

4.表達(dá)式體成員:用于方法和委托。

public int Square(int x) => x * x;

5.字符串插值:在字符串中嵌入變量或表達(dá)式的值。

string message = $"Hello, {name}!";

6.空合并運(yùn)算符(??):當(dāng)左側(cè)操作數(shù)為 null 時(shí),返回右側(cè)操作數(shù)的值。

string result = value ?? "Default Value";

7.異步/等待(async/await):簡(jiǎn)化異步編程模型。

public async Task<stringGetWebPageAsync(string url)

  {

      using (var client = new HttpClient())

      {

          return await client.GetStringAsync(url);

      }

  }

8.使用語句(using 聲明):自動(dòng)釋放資源,如文件和網(wǎng)絡(luò)連接。

using (var file = new StreamReader("file.txt"))

  {

      // 讀取文件內(nèi)容

  // file 對(duì)象在這里會(huì)被自動(dòng)釋放

9.命名參數(shù):在調(diào)用方法時(shí),通過參數(shù)名指定參數(shù)值,提高代碼可讀性。

MyMethod(name: "Alice"age30);

10.默認(rèn)參數(shù)值:在方法聲明中為參數(shù)指定默認(rèn)值。

public void MyMethod(string name = "Default") { /* ... */ }

11.擴(kuò)展方法:允許你為已存在的類型添加新的方法,而無需創(chuàng)建新的派生類。這使得你可以在不修改原始代碼的情況下擴(kuò)展類的功能。

public static class StringExtensions

  {

      public static string ToUpperInvariant(this string s)

      {

          return s.ToUpper(CultureInfo.InvariantCulture);

      }

  }

12.名稱空間別名:允許你為名稱空間或類型定義別名,以簡(jiǎn)化代碼中的引用。

using System.Collections.Generic;

using List = System.Collections.Generic.List<int>; // 定義別名

List numbers = new List(); // 使用別名

13.空條件運(yùn)算符(?.):當(dāng)左側(cè)的操作數(shù)不為 null 時(shí),才訪問其成員或調(diào)用其方法。這可以避免 NullReferenceException。

string text = null;

int? length = text?.Length; // 如果 text  null,則 length  null;否則為 text 的長(zhǎng)度

14.元組:從 C# 7.0 開始,可以使用 ValueTuple 來創(chuàng)建輕量級(jí)的、不可變的數(shù)據(jù)結(jié)構(gòu),用于表示具有多個(gè)值的單個(gè)對(duì)象。

var person = (Name: "Alice", Age: 30);

Console.WriteLine(person.Name); // 輸出 "Alice"

15.模式匹配:C# 7.0 及更高版本引入了模式匹配功能,包括 is 類型模式和 switch 表達(dá)式,使得在條件語句中檢查類型和執(zhí)行相應(yīng)操作變得更加簡(jiǎn)潔。

object obj = "hello";

  if (obj is string s)

  {

      Console.WriteLine(s.ToUpper()); // 輸出 "HELLO"

  }

16.棄元(Discard):使用下劃線 _ 作為占位符來表示不關(guān)心的變量值,這在解構(gòu)賦值或模式匹配中特別有用。

var (first, _) = GetTuple(); // 只關(guān)心第一個(gè)值,忽略第二個(gè)值

17.范圍(Range)操作符:C# 8.0 引入了范圍操作符 ..,它允許你指定一個(gè)序列的子范圍。

int[] numbers = { 012345 };

int[] subArray = numbers[1..4]; // { 1, 2, 3 }

18.頂級(jí)語句:C# 9.0 及更高版本允許在編譯單元的頂層直接編寫語句,而無需包含在方法或類中。這簡(jiǎn)化了腳本和小型程序的編寫。

using System;

Console.WriteLine("Hello, World!"); // 直接在頂層編寫的語句

19.記錄(Record)類型:C# 9.0 引入了記錄類型,它提供了更簡(jiǎn)潔的語法來定義不可變數(shù)據(jù)類型的值語義,并自動(dòng)實(shí)現(xiàn)相等性、哈希碼和字符串表示形式。

public record Person(string Name, int Age);

20.可空類型:使用可空類型(如 int?)可以表示值類型的空值,避免了使用默認(rèn)值來表示空值的問題。

int? age = null;

if (age.HasValue)

{

      // 處理非空值的情況

}

21.nameof 表達(dá)式:返回變量、類型或成員的名稱作為字符串,主要用于異常消息、日志記錄等。

string name = "Alice";

Console.WriteLine(nameof(name)); // 輸出 "name"

22.拋出表達(dá)式(Throw expressions):允許在表達(dá)式中使用 throw 語句,而不僅僅是在語句中。

return someCondition ? someValue : throw new InvalidOperationException();

23.使用聲明(Using declarations):從 C# 8.0 開始,可以在代碼塊內(nèi)部直接聲明 using 變量,而無需在外部聲明和初始化。

using var file = new StreamReader("file.txt");

// 使用 file 進(jìn)行操作...

// 在代碼塊結(jié)束時(shí),file 會(huì)被自動(dòng)釋放

24.LINQ(Language Integrated Query):允許你在 C# 中直接編寫查詢語句,而無需使用額外的查詢語言。

var query = from p in people

            where p.Age > 18

            select p.Name;

25.條件編譯指令:使用如 #if, #else, #endif 等預(yù)處理指令,可以根據(jù)不同的編譯條件包含或排除代碼塊。這對(duì)于跨平臺(tái)開發(fā)或調(diào)試非常有用。

#if DEBUG

    Console.WriteLine("Debug mode is enabled.");

#endif


該文章在 2024/4/1 17:03:26 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产原创在线观看播放 | 成人在线日韩 | 国产女主播精品大秀系列 | 岛国毛片一级一级特 | 国产精品福利在线观看免费不卡 | 国产一卡2卡3卡4卡公司 | 精品麻豆丝袜高跟鞋av | 国产精品白嫩在线观看 | 国产一区二区三区不卡视频在线 | av每日更新在线观看 | 精品91自产拍在线观看 | 国产精品欧美日韩一区在线播放 | 国产精品高清一区二区三区 | 国产丝袜美女一级二级三级 | 国产毛毛浓密盛精品免费 | 国产精品夜色电影 | 国产激情一区二区三区 | 国产精品亚洲日韩aⅴ在线 国产精品亚洲日韩aⅴ在线观看 | 精品无码国产av综合 | 国产成年女人特黄特色毛片免 | 国产精品宾馆在线精品酒店 | 国产日韩av在 | 国产成人精品123区免费视频 | 国产精品大陆高清 | 国产人妖专区视频在线一区 | 国产成人综合在 | 国产一区二区三区无码免费 | 69精品人人 | 91精品无码国产在线观看一区 | 91精品国产aⅴ一区二区 | 国产中文字幕乱人伦 | 成人在线精品视 | 国产三级高清 | 高潮国产精品一区二区喷水 | 精品国产亚洲人成在线观看 | 变态调教无码专区在线观看 | 高清av无码在线 | 18禁裸乳无遮挡高清免费观看 | 国产成人麻豆免费观看 | 国产高清女同学巨大乳在线 | 国产成人亚洲精品无码青青草原 |