C# 是一種面向?qū)ο蟮木幊陶Z言。在面向?qū)ο蟮某绦蛟O(shè)計方法中,程序由各種相互交互的對象組成。相同種類的對象通常具有相同的類型,或者說,是在相同的 class 中。
例如,以 Rectangle(矩形)對象為例。它具有 length 和 width 屬性。根據(jù)設(shè)計,它可能需要接受這些屬性值、計算面積和顯示細節(jié)。
讓我們來看看一個 Rectangle(矩形)類的實現(xiàn),并借此討論 C# 的基本語法:
using System;
namespace RectangleApplication
{
class Rectangle
{
// 成員變量
double length;
double width;
public void Acceptdetails()
{
length = 4.5;
width = 3.5;
}
public double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
}
}
class ExecuteRectangle
{
static void Main(string[] args)
{
Rectangle r = new Rectangle();
r.Acceptdetails();
r.Display();
Console.ReadLine();
}
}
}當上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:
Length: 4.5 Width: 3.5 Area: 15.75
在任何 C# 程序中的第一條語句都是:
using System;
using 關(guān)鍵字用于在程序中包含命名空間。一個程序可以包含多個 using 語句。
class 關(guān)鍵字用于聲明一個類。
注釋是用于解釋代碼。編譯器會忽略注釋的條目。在 C# 程序中,多行注釋以 /* 開始,并以字符 */ 終止,如下所示:
/*該程序演示 C#編程的基本語法 語言 */
單行注釋是用 '//' 符號表示。例如:
//結(jié)束 矩形 類
變量是類的屬性或數(shù)據(jù)成員,用于存儲數(shù)據(jù)。在上面的程序中,Rectangle 類有兩個成員變量,名為 length 和 width。
函數(shù)是一系列執(zhí)行指定任務(wù)的語句。類的成員函數(shù)是在類內(nèi)聲明的。我們舉例的類 Rectangle 包含了三個成員函數(shù): AcceptDetails、GetArea 和 Display。
在上面的程序中,類 ExecuteRectangle 是一個包含 Main() 方法和示例化 Rectangle 類的類。
標識符是用來識別類、變量、函數(shù)或任何其它用戶定義的項目。在 C# 中,類的命名必須遵循如下基本規(guī)則:
標識符必須以字母、下劃線或 @ 開頭,后面可以跟一系列的字母、數(shù)字( 0 - 9 )、下劃線( _ )、@。
標識符中的第一個字符不能是數(shù)字。
標識符必須不包含任何嵌入的空格或符號,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。
標識符不能是 C# 關(guān)鍵字。除非它們有一個 @ 前綴。 例如,@if 是有效的標識符,但 if 不是,因為 if 是關(guān)鍵字。
標識符必須區(qū)分大小寫。大寫字母和小寫字母被認為是不同的字母。
不能與C#的類庫名稱相同。
關(guān)鍵字是 C# 編譯器預(yù)定義的保留字。這些關(guān)鍵字不能用作標識符,但是,如果您想使用這些關(guān)鍵字作為標識符,可以在關(guān)鍵字前面加上 @ 字符作為前綴。
在 C# 中,有些關(guān)鍵字在代碼的上下文中有特殊的意義,如 get 和 set,這些被稱為上下文關(guān)鍵字(contextual keywords)。
下表列出了 C# 中的保留關(guān)鍵字(Reserved Keywords)和上下文關(guān)鍵字(Contextual Keywords):
| 保留關(guān)鍵字 | ||||||
| abstract | as | base | bool | break | byte | case |
| catch | char | checked | class | const | continue | decimal |
| default | delegate | do | double | else | enum | event |
| explicit | extern | false | finally | fixed | float | for |
| foreach | goto | if | implicit | in | in (generic modifier) | int |
| interface | internal | is | lock | long | namespace | new |
| null | object | operator | out | out (generic modifier) | override | params |
| private | protected | public | readonly | ref | return | sbyte |
| sealed | short | sizeof | stackalloc | static | string | struct |
| switch | this | throw | true | try | typeof | uint |
| ulong | unchecked | unsafe | ushort | using | virtual | void |
| volatile | while | |||||
| 上下文關(guān)鍵字 | ||||||
| add | alias | ascending | descending | dynamic | from | get |
| global | group | into | join | let | orderby | partial (type) |
| partial (method) | remove | select | set | |||