C#基礎文法(一)

來源:互聯網
上載者:User

標籤:代碼   常量   相同   rgs   唯讀   推斷   stat   介紹   返回   

一.基礎文法

  1.C#區分大小寫,所以myVar和MyVar是兩個不同的變數。
  2.每個C#可執行檔(如控制台應用程式,Windows應用程式和Windows服務)都必須有一個進入點————Main()(M大寫)
  public static void Main()
  {
  //do something
  }
  在程式啟動時調用這個方法。該方法要麼沒有傳回值(void),要麼返回一個整數(int)


二.變數

  1.編譯器不允許在運算式中使用未初始化的變數。如果變數是類或結構中的欄位,如果沒有初始化,建立這些變數時,其預設值就是0。
  2.類型推斷
  類型推斷(type inference)使用var關鍵字。編譯器可以根據變數的初始化值“推斷”變數的類型。var somenum = 0;
  即使somenum從來沒有聲明為int,編譯器也可以確定,只要somenum在其範圍內,就是一個int.
  聲明了變數,推斷出了類型後,就不能改變變數類型了。變數的類型確定後,就遵循其它變數類型遵循的強型別化規則。
  3.變數的範圍
  變數的範圍是訪問該變數的代碼地區。只要變數的範圍是程式的不同部分就不會有問題。
  (1).局部變數的範圍衝突
  public static int Main()
  {
  int j =20;
  for(int i=0;i<20;i++)
  {
  int j = 30;
  // do something
  }
  }
  編譯時間會報錯,因為在Main()方法範圍內有兩個變數j,編譯器無法區分這兩個變數。

  (2).欄位和局部變數的範圍衝突
  某些情況下可以區分名稱相同,範圍相同的兩個標識符。原因是C#在變數之間有一個基本的區分,它把在類層級聲明的變數看作
  欄位,而把在方法中聲明的變數看作局部變數。
  class Program
  {
  int j = 20;
  static void Main(string[] args)
  {
    int j = 30;
    Console.WriteLine(j);
    Console.ReadKey();
  }
  }
  雖然在Main()方法的範圍內聲明了兩個j,這段代碼也會編譯。在類層級上定義的j,在該類刪除前是不會超出範圍的,在
  Main()中聲明的j隱藏了同名的類層級變數,所以運行代碼時會顯示30.

三.常量
  顧名思義,常量是其值在使用過程中不會發生改變的變數。在聲明和初始設定變數時,在變數的前面加上關鍵字const,就可以把該變數指定
  為一個常量:const int a =100;

  常量的特點;
  *常量必須在聲明時初始化。指定了值之後就不能改寫了。
  *常量的值必須能在編譯時間用於計算。因此不能用於從一個變數中提取的值來初始化常量。如果需要,應使用唯讀欄位(後面介紹)。
  *常量總是靜態。但注意,不必(實際上不允許)在常量聲明中包含static

  使用常量的好處:
  *由於使用易於讀取的名稱(名稱的值易於理解)代替了較難讀取的數字或字串,常量使程式變得更易於閱讀。
  *常量使程式易於修改。當常量的值需要修改時,只需要把新值賦給這個常量,不必尋找整個程式去修改。
  *常量更容易避免程式出現錯誤。如果在聲明常量的位置以外的地方給常量賦值,編譯器會報錯。

 

 

部落格編寫中可能存在錯誤,歡迎讀者指正批評,郵箱[email protected]

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.