跳槽來到新的公司,忽然用C#寫代碼,各類不適應,去網上充充電,總結一些和java不同的C#用法:java
- C# 是大小寫敏感的。
- 全部的語句和表達式必須以分號(;)結尾。
- 程序的執行從 Main 方法開始。
- 與 Java 不一樣的是,文件名能夠不一樣於類的名稱。1. 這裏是列表文本
- using 關鍵字
- using System;
- using 關鍵字用於在程序中包含命名空間。一個程序能夠包含多個 using 語句。
- 表達式 sizeof(type) 產生以字節爲單位存儲對象或類型的存儲尺寸
- 內置的 引用類型有:object、dynamic 和 string:
- 字符串(String)類型的值能夠經過兩種形式進行分配:引號和 @引號。
-
String str = "runoob.com";
-
@"runoob.com";
- class Class2 : Class1 //類Class2是類Class1的子類
- 常量是使用 const 關鍵字來定義的 。
- const double pi = 3.14159; // 常量聲明 final
- 訪問修飾符 定義了一個類成員的範圍和可見性。C# 支持的訪問修飾符以下所示:
- Public:全部對象均可以訪問;
- Private:對象自己在對象內部能夠訪問;
- Protected:只有該類對象及其子類對象能夠訪問
- Internal:同一個程序集的對象能夠訪問;
- Protected internal:一個程序集內的對象,或者該類對象及其子類能夠訪問;
- 繼承類中的重寫虛函數須要聲明關鍵字 override,在方法參數傳入中寫(類名 形參名)例如 public void CallArea(Shape sh),意思是傳入一個 shape 類型的類。
- 命名空間(Namespace) :設計目的是提供一種讓一組名稱與其餘名稱分隔開的方式。在一個命名空間中聲明的類的名稱與另外一個命名空間中聲明的相同的類的名稱不衝突。
- 委託(Delegate) 是存有對某個方法的引用的一種引用類型變量。引用可在運行時被改變。
- 一旦聲明瞭委託類型,委託對象必須使用 new 關鍵字來建立,且與一個特定的方法有關。當建立委託時,傳遞到 new 語句的參數就像方法調用同樣書寫,可是不帶有參數。
- 線程的銷燬
- (1)線程自動銷燬
- Thread a=new Thread(Method) th.start();
- 線程方法Method執行完結,線程a也自動終止.
- (2)若是是無限循環須要手動銷燬
- 窗體應用程序的線程間通訊
- .net 2.0之後增強了安全機制,不容許在winform中直接跨線程訪問控件的屬性。
- 線程函數經過委託傳遞,是一種安全的線程間通訊的方式。也是委託的功能之一。
- 但C#也能夠關閉線程安全保護,自由的調用其餘線程生成的控件。只要加上
- Control.CheckForIllegalCrossThreadCalls = false;
- Microsoft Visual Studio有用的快捷鍵*****
- 代碼自動對齊:
- Ctrl +k +f
- 調用智能提示:
- Alt+→
- 回到上一個光標位置/前進到下一個光標位置:
-
Ctrl + -
- 設置斷點---F9
- 啓動調試---F5
- 逐語句調試---F11
- 逐過程調試---F10