c#基礎文法

來源:互聯網
上載者:User

標籤:

一、系統資料類型和C#簡化符號

  和各任何程式設計語言一樣,C#定義了一組內建資料類型。每種類型都有對應的C#關鍵字、取值範圍和作用,如系統類別型中表示真實的或者虛假的類型為 System.Boolean,C#簡化符號為bool,範圍true或false;又如uint對應的系統類別型是System.UInt32,範圍 0~4294967295,代表一個無符號的32位元。其中bool是遵循CLS(Common Language Specification),而uint則不遵循CLS(符合CLS的.NET代碼可以被任何託管程式設計語言使用,不止是C#,還有VB.NET和託管C++等)。

  C#內建的系統型有15個,請查看.NET Framework 3.5文檔來熟悉它們。

二、變數聲明和初始化。

  如果要聲明一個資料類型作為變數,可以通過在變數名之前指定類型來實現,還可以使用全名分配資料類型。如:
bool mybool = false;

string myString;

myString = "This is a string.";

System.Int32 i1 = 0, i2, i3 = 56;

  在使用變數前必須先對變數賦值,否則會收到一個編譯錯誤(如上文加上" i2 = i2 +5 ",是不能通過編譯的)。內建資料類型還支援建構函式(對於建構函式,後面章節會有介紹),這不允許我們使用new關鍵字來建立變數,它將變數自動化佈建為其預設值:
int i4 = new int(); // i4設定為0。

i4 = i4 + 5 ; // i4現在的值為5。

三、資料轉換

  不同類型的資料是可以轉換的。

  按轉換前後的資料的位元變化可分為窄化轉換和寬化轉換:當一種類型的值轉換為大小相等或更大的另一類型時,則發生寬化轉換(也叫擴大轉換);當一種類型的值轉換為較小的另一種類型時,則發生窄化轉換(也叫收縮轉換)。寬化轉向不會導致資料丟失,因此允許隱式進行。但窄化轉換因為有資料丟失的風險(稱為溢出),將導致編譯錯誤。如果希望通知編譯器我們想要處理窄化運算引起的可能的資料丟失,就必須使用C#強制轉換運算子()來進行顯式強制轉換:
byte myByte = 0;

int myInt = 200;

myByte = (byte)myInt;

  如果我們在構建一個不能接受資料丟失的應用程式,C#提供的checked關鍵字將確保資料丟失肯定會被檢測到。

myByte = checked(byte)myInt;

  如果發生資料丟失,將發生一個運行時異常(對於異常,後面將深入討論)。另外,C#編譯器還提供/checked標誌,可以設定項目層級的溢出檢測。與checked相對的還有unchecked關鍵字,請查閱相關文檔進行瞭解。

四、運算子

  C# 提供大量運算子,這些運算子是指定在運算式中執行哪些操作的符號。通常允許對枚舉進行整型運算,例如 ==、!=、<、>、& lt;=、>=、^、&、|、~、++、-- 和 sizeof()。此外,很多運算子可被使用者重載,由此在應用到使用者定義的類型時更改這些運算子的含義。各運算子的用法及優先順序,請查閱相關文檔。

  新增的運算子??:如果 ?? 運算子的左運算元非 null,該運算子將返回左運算元,否則返回右運算元。

  另一個新增的Lambda運算子(=>)會在後面章節中講述。

五、流程式控制制

  1.C#迭代結迴圈構

  除了基本的for迴圈,while迴圈及do/while迴圈,C#還允許通過使用foreach關鍵字遍曆數組中的所有項:
string[] carTypes = {"Ford","BMW","Yugo","Honda"};

foreach(string c in carTypes)

Console.WriteLine(c);


  2.C#條件結構

  if/else語句。C和C++的程式員要注意,C#中的if/else語句只能作用於布林運算式,不能用於諸如-1、0這樣的值。

  switch語句。C#switch語句一個不錯的特性是,除了數值資料之處,我們還可以運算字串資料:
static void ExecuteSwitchOnString()
{
Console.WriteLine("C# or VB");
Console.Write("Please pick your language preference: ");

string langChoice = Console.ReadLine();
switch (langChoice)
{
case "C#":
Console.WriteLine("Good choice, C# is a fine language.");
break;
case "VB":
Console.WriteLine("VB .NET: OOP, multithreading and more!");
break;
default:
Console.WriteLine("Wellgood luck with that!");
break;
}
}

c#基礎文法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.