C#常見的概念闡述
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
在上篇文章中,你跟著我寫了一個(gè)HelloWorld,本篇中,我們來談?wù)勔恍〤#程序中的小概念 一個(gè) C# 程序主要包括以下部分:
我們把上一篇的代碼添出來 1 using System; 2 3 namespace HelloWorld 4 { 5 class Program 6 { 7 static void Main(string[] args) 8 { 9 Console.Write("HelloWorld"); 10 Console.Read(); 11 } 12 } 13 } 程序的第1行 using System; - using 關(guān)鍵字用于在程序中包含 System 命名空間。 一個(gè)程序一般有多個(gè) using 語句 下一行namespace HelloWorld - namespace關(guān)鍵字用于申明命名空間,一個(gè)命名空間里有多個(gè)類。本代碼中,表示一個(gè)為HelloWorld的命名空間 下一行class Program - class關(guān)鍵字用于申明一個(gè)類,類 Program 包含了程序使用的數(shù)據(jù)和方法聲明。類一般包含多個(gè)方法。方法定義了類的行為。在這里,Program 類只有一個(gè) Main 方法。 下一行定義了 Main 方法,是所有 C# 程序的 入口點(diǎn)。Main 方法說明當(dāng)執(zhí)行時(shí) 類將做什么動(dòng)作。 注釋是用于解釋代碼。編譯器會忽略注釋的條目。在 C# 程序中,多行注釋以 /* 開始,并以字符 */ 終止,如下所示: /* 這是C#中 的多行注釋的 演示 */ 單行注釋是用 ''//'' 符號表示。例如: //這是C#中的單行注釋的演示 標(biāo)識符是用來識別類、變量、函數(shù)或任何其它用戶定義的項(xiàng)目。在 C# 中,類的命名必須遵循如下基本規(guī)則:
關(guān)鍵字是 C# 編譯器預(yù)定義的保留字。這些關(guān)鍵字不能用作標(biāo)識符,但是,如果您想使用這些關(guān)鍵字作為標(biāo)識符,可以在關(guān)鍵字前面加上 @ 字符作為前綴。 保留關(guān)鍵字 上下文關(guān)鍵字 詳見:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/ C#是一種強(qiáng)類型語言。 每個(gè)變量和常量都有一個(gè)類型,每個(gè)計(jì)算為值的表達(dá)式也是如此,每個(gè)方法簽名為每個(gè)輸入?yún)?shù)和返回值指定一個(gè)類型。所有的類型都是繼承自System.Object C#的數(shù)據(jù)類型有三種:
在不安全的代碼里才會用到指針類型,本系列不介紹。你僅要知道,指針類型不從 object 繼承,并且指針類型與 object 之間不存在轉(zhuǎn)換。 此外,裝箱和取消裝箱不支持指針。 但是,你可在不同的指針類型之間以及指針類型和整型之間進(jìn)行轉(zhuǎn)換。(這句話記不住也沒有關(guān)系,這個(gè)類型在絕大部分的工作中都用不上,個(gè)人認(rèn)為,這個(gè)類型就是為了給c++程序員用的,個(gè)人觀點(diǎn)不喜勿噴!)。后面我們也會有單獨(dú)的章節(jié)去講,這里你不必太糾結(jié),心里有這些概念就行了。 詳見:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/types
一個(gè)變量只不過是一個(gè)供程序操作的存儲區(qū)的名字。在 C# 中,每個(gè)變量都有一個(gè)特定的類型,類型決定了變量的內(nèi)存大小和布局。范圍內(nèi)的值可以存儲在內(nèi)存中,可以對變量進(jìn)行一系列操作。 C# 中變量定義的語法: <data_type> <variable_list>;
在這里,data_type 必須是一個(gè)有效的 C# 數(shù)據(jù)類型,可以是 char、int、float、double 或其他用戶自定義的數(shù)據(jù)類型。variable_list 可以由一個(gè)或多個(gè)用逗號分隔的標(biāo)識符名稱組成。 定義變量示例: int i,j; char c; string mrbug;
變量通過在等號后跟一個(gè)常量表達(dá)式進(jìn)行初始化(又叫賦值)。初始化的一般形式為: <data_type> <variable_name> = value;
一些示例: int i = 0 , j = 100; //初始化 i 和 j string myname = "mrbug" ; //初始化myname
定義變量時(shí)就為這個(gè)變量賦一個(gè)初始值,是一個(gè)良好的編碼習(xí)慣
顧名思意常量是固定值,程序執(zhí)行期間不會改變。常量可以是任何基本數(shù)據(jù)類型,比如整數(shù)常量、浮點(diǎn)常量、字符常量或者字符串常量,還有枚舉常量。 const <data_type> <constant_name> = value;
定義常量示例: const double pi = 3.1415926; // 常量聲明
詳見:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/constants
C# 中的兩種表達(dá)式:
左值(lvalue)是指在單個(gè)表達(dá)式的外部保留的對象。 可以將左值視為具有名稱的對象。 所有變量(包括不能更改的 ( 數(shù)值是 rvalue 的,因此不能被賦值,不能出現(xiàn)在賦值語句的左邊。下面是一個(gè)有效的語句: int x = 3 + 4;
在此示例中,x 是左值,因?yàn)樗诙x它的表達(dá)式的外部保留。 表達(dá)式 3 + 4 是為一個(gè)右值,因?yàn)槠溆?jì)算結(jié)果為不在定義它的表達(dá)式的外部保留的臨時(shí)值。
命名空間的設(shè)計(jì)目的是提供一種讓一組名稱與其他名稱分隔開的方式。在一個(gè)命名空間中聲明的類的名稱與另一個(gè)命名空間中聲明的相同的類的名稱不沖突。 命名空間的定義是以關(guān)鍵字 namespace 開始,后跟命名空間的名稱,如下所示: namespace namespace_name
{
// 代碼聲明
}
using 關(guān)鍵字表明程序使用的是給定命名空間中的名稱。例如,我們在程序中使用 System 命名空間,其中定義了類 Console。我們可以只寫: Console.WriteLine ("Hello world");
我們可以寫完全限定名稱,如下: System.Console.WriteLine("Hello world");
在C#中,命名空間可以被嵌套,即您可以在一個(gè)命名空間內(nèi)定義另一個(gè)命名空間,如下所示: namespace namespace_name1 { // 代碼聲明 namespace namespace_name2 { // 代碼聲明 int age = 18 ; } }
在C#中,你可以使用點(diǎn)(.)運(yùn)算符訪問嵌套的命名空間的成員,例如上例中你可以這樣使用: namespace_name1.namespace_name2.age = 30 ;
該文章在 2021/3/3 17:03:36 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |