熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#基本語法簡介

2022-06-13   來源: .NET編程 

  系統數據類型和C#簡化符號

  和各任何編程語言一樣C#定義了一組內建數據類型每種類型都有對應的C#關鍵字取值范圍和作用如系統類型中表示真實的或者虛假的類型為 SystemBooleanC#簡化符號為bool范圍true或false又如uint對應的系統類型是SystemUInt范圍 ~代表一個無符號的位數其中bool是遵循CLS(公共語言規范)而uint則不遵循CLS(符合CLS的NET代碼可以被任何托管編程語言使用不止是C#還有VBNET和托管C++等)

  C#內建的系統型有請查看NET Framework 文檔來熟悉它們

變量聲明和初始化

  如果要聲明一個數據類型作為變量可以通過在變量名之前指定類型來實現還可以使用全名分配數據類型

  bool mybool = false;

string myString;

myString = This is a string;

SystemInt i = i i = ;


  在使用變量前必須先對變量賦值否則會收到一個編譯錯誤(如上文加上 i = i + 是不能通過編譯的)內建數據類型還支持構造函數(對於構造函數後面章節會有介紹)這不允許我們使用new關鍵字來創建變量它將變量自動設置為其默認值:

  int i = new int(); // i設置為

i = i + ; // i現在的值為


數據轉換

不同類型的數據是可以轉換的

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

  byte myByte = ;

int myInt = ;

myByte = (byte)myInt;


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

myByte = checked(byte)myInt;

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

運算符

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

  新增的運算符??如果 ?? 運算符的左操作數非 null該運算符將返回左操作數否則返回右操作數

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

流程控制

 C#迭代結循環構

  除了基本的for循環while循環及do/while循環C#還允許通過使用foreach關鍵字遍歷數組中的所有項

  string[] carTypes = {FordBMWYugoHonda};

foreach(string c in carTypes)

ConsoleWriteLine(c);



C#條件結構

  if/else語句C和C++的程序員要注意C#中的if/else語句只能作用於布爾表達式不能用於諸如這樣的值

  switch語句C#switch語句一個不錯的特性是除了數值數據之處我們還可以運算字符串數據

  

   static void ExecuteSwitchOnString()
{
ConsoleWriteLine(C# or VB);
ConsoleWrite(Please pick your language preference: );

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


 
From:http://tw.wingwit.com/Article/program/net/201311/13606.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.