了解基本 C# 關(guān)鍵字
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
前言關(guān)鍵字是預(yù)定義的保留字集,它們具有編譯器已知的特殊含義,因此我們不能將它們用作類名、變量名和接口名的標(biāo)識符。在C#中具有豐富的關(guān)鍵字,有有助于使該語言強(qiáng)大且用途廣泛。 本文通過用簡單的語言解釋C# 編程中的一些關(guān)鍵概念來它們,下面將介紹訪問修飾符、聲明關(guān)鍵字、類型關(guān)鍵字、方法和屬性修飾符、控制流、現(xiàn)代 C# 功能、內(nèi)存管理和上下文關(guān)鍵字。 訪問修飾符訪問修飾符(Access modifiers)是確定代碼中類、方法和其他成員的可見性和可訪問性。下面是常見C#訪問修飾符: public:公共成員訪問不受限制,可以從項(xiàng)目中的任何位置的任何代碼訪問; private: 私有成員訪問受限制,只能在聲明它們的同一類或結(jié)構(gòu)中訪問。 protected: 受保護(hù)成員訪問受限制,可以在同一類和從該類派生的任何類中訪問。 internal: 內(nèi)部成員可以在同一程序集中訪問,這意味著同一項(xiàng)目中的其他類可以訪問它們,但不能訪問其他項(xiàng)目中的類。 protected internal: 由protected與internal組合。該成員可以在其自己的程序集中或通過派生類進(jìn)行訪問。 聲明關(guān)鍵字聲明關(guān)鍵字(Declaration)用于定義代碼中不同類型的實(shí)體。下面是常見且重要的C#聲明關(guān)鍵字: class:用于定義類,該類是創(chuàng)建對象。 interface: 用于聲明類可以實(shí)現(xiàn)的協(xié)定,指定類必須具有的方法和屬性。 struct: 用于創(chuàng)建值類型,該類型是直接保存數(shù)據(jù)而不是通過引用保存數(shù)據(jù)的類型。 enum:用于定義枚舉,枚舉是由一組命名常量組成的 Distinct 類型。 record:用于定義一個(gè)不可變的數(shù)據(jù)類,其數(shù)據(jù)一旦創(chuàng)建就無法更改。 方法與屬性修飾符方法和屬性都可以有修飾符,用于控制其訪問權(quán)限、行為等。下面是一些常用的方法和屬性修飾符: static:聲明靜態(tài)成員。靜態(tài)成員屬于類本身,而不是類的某個(gè)特定實(shí)例。 virtual:允許在派生類中重寫方法。 override:用于在派生類中提供 virtual 方法的新實(shí)現(xiàn)。 abstract: 表示為抽象方法,它沒有實(shí)現(xiàn)代碼,而是定義了一個(gè)接口,供派生類實(shí)現(xiàn)。 async:**將方法標(biāo)記為異步,這意味著它可以在不阻塞主線程的情況下執(zhí)行任務(wù)。 await: 用于等待一個(gè)異步操作完成。它只能在異步方法中使用,異步方法通常有async關(guān)鍵字修飾。 類型關(guān)鍵字類型關(guān)鍵字用于指定變量和表達(dá)式中使用的數(shù)據(jù)類型。下面是常見類型關(guān)鍵字: string: 表示為文本數(shù)據(jù)類型。 int: 表示一個(gè) 32 位整數(shù)類型。 double: 表示雙精度浮點(diǎn)數(shù),占用64位存儲空間,用于表示具有小數(shù)部分的數(shù)值的數(shù)據(jù)類型。 decimal: 表示高精度十進(jìn)制數(shù),具有更高的精度和更小的范圍,它適合于財(cái)務(wù)和貨幣計(jì)算。 float: 表示浮點(diǎn)數(shù),占用32位存儲空間,用于表示具有小數(shù)部分的數(shù)值的數(shù)據(jù)類型。 bool:表示布爾值,它的值為true或false。 var:允許編譯器從變量的初始值設(shè)定項(xiàng)推斷變量的類型。 控制流關(guān)鍵字控制流語句確定代碼的執(zhí)行順序。下面是一些常見的控制流關(guān)鍵字: if...else:根據(jù)條件表達(dá)式執(zhí)行代碼。 switch:基于表達(dá)式的值執(zhí)行多個(gè)分支。 for與foreach: 用于迭代集合或?qū)⒋a重復(fù)特定次數(shù)。 while與do: 當(dāng)條件為 true時(shí),重復(fù)執(zhí)行代碼塊。 break: 退出循環(huán)或switch語句。 continue: 跳過當(dāng)前循環(huán)迭代的其余部分,繼續(xù)進(jìn)行下一次迭代。 return: 從當(dāng)前的方法中退出,并可選地返回一個(gè)值。 throw: 引發(fā)異常,用于顯式拋出一個(gè)異常。 try...catch...finally:將可能引發(fā)異常的代碼括起來,用于正常地處理錯誤。 上下文關(guān)鍵字value:指在屬性 setter 中分配的值。 get:定義檢索值的屬性訪問器。 set:定義一個(gè)設(shè)置值的屬性。 yield: 在迭代器方法中用于向枚舉器對象提供值。 partial:允許在多個(gè)文件中定義類或方法。 where:指定對泛型類型參數(shù)的約束。 內(nèi)存管理內(nèi)存管理涉及處理數(shù)據(jù)在程序中的存儲和訪問方式。下面是一些常見的關(guān)鍵字: fixed:可用于保持某個(gè)對象在其結(jié)構(gòu)中的內(nèi)存位置固定。 unsafe: 允許使用指針的代碼,直接操作內(nèi)存,它通常用于需要低級控制內(nèi)存的場景。 stackalloc: 用于在堆棧上分配內(nèi)存而不是堆上。 volatile: 用于提醒編譯器,指示一個(gè)字段可以被多個(gè)線程修改。 其他隨著C# 不斷發(fā)展,引入了使編碼更輕松、更高效的新功能或語法糖。下面是一些常見的關(guān)鍵字: null:表示缺少值。 default:提供類型的默認(rèn)值。 using:確保資源得到妥善處理 is:檢查對象是否為特定類型。 as:安全地將對象轉(zhuǎn)換為特定類型。 new:實(shí)例化新對象。 nameof:以字符串形式檢索變量或類型的名稱。 when:向模式匹配添加條件。 小結(jié)閱讀原文:https://mp.weixin.qq.com/s/xq9wn8qXmFmdoQnN84cLQw 該文章在 2024/12/30 14:31:30 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |