標籤:style blog color 使用 for 代碼
C# 用於開發可以運行在 .Net 平台上的應用程式,C# 本身只是一種語言,儘管它是用於產生面向 .Net 環境的代碼,但它本身不是 .Net 的一部分
Console.WriteLine
命名空間 —— using 指令將命名空間名所標識的命名空間內的類型成員匯入到當前編譯單元中,從而可以直接使用(不必加上完全限定名)
一種程式組織形式 —— 內部,或外部 (對外公開的組織圖)
可以在項目的命名空間中定義命名空間,但這樣不能用using 來引用自訂的命名空間
C# 的所有語句都必須位於類內
Main 方法是程式的進入點,一個C#程式只能有一個main方法,必須是靜態
實值型別是從 System.ValueType 類繼承而來的類型 —— 棧
參考型別 —— 必須在託管堆中為參考型別變數分配記憶體,由記憶體回收機制來管理控制 —— 堆
每種實值型別均有一個隱式的預設建構函式來初始化該類型的預設值 int i=new int(); 等價於 Int32 i = new Int32();
C#的所有實值型別均隱式派生自 System.ValueType , 而System.ValueType 直接派生自 System.Object —— System.ValueType 本身是一個類類型而不是實值型別,其關鍵在於ValueType重寫了Equals方法,從而對實值型別按照執行個體的值比較,而不是引用地址來比較
int ls = 927; //聲明一個int類型的變數ls byte shj = 255; //聲明一個byte類型的變數shj Console.WriteLine("ls={0}", ls); //輸出int類型變數ls Console.WriteLine("shj={0}", shj); //輸出byte類型變數shj
C# 中使用 enum 來聲明枚舉類型
類型轉換
隱式
顯式
裝箱和拆箱 (裝箱 —— 將實值型別隱式轉換成參考型別,拆箱 —— 允許將參考型別顯示轉換為實值型別)
int i = 2008; //聲明一個int類型變數i,並初始化為2008 object obj = i; //聲明一個object類型obj,其初始化值為i Console.WriteLine("1、i的值為{0},裝箱之後的對象為{1}", i, obj); i = 927; //重新將I賦值為927 Console.WriteLine("2、i的值為{0},裝箱之後的對象為{1}", i, obj); Console.ReadLine();
裝箱後改變實值型別變數的值,並不會影響裝箱對象的值
int i = 112; //聲明一個int類型的變數i,並初始化為112 object obj = i; //執行裝箱操作 Console.WriteLine("裝箱操作:值為{0},裝箱之後對象為{1}", i, obj); int j = (int)obj; //執行拆箱操作 Console.WriteLine("拆箱操作:裝箱對象為{0},值為{1}", obj, j); Console.ReadLine();
拆箱前後類型要保持一致,否則會出現異常
常量 用const 修飾,且建立常量是必須設定它的初始值
C# 中的特殊運算子
is 檢查變數是否為指定的類型,不能重載 is 運算子
typeof 用於獲得系統原型對象的類型,也就是 Type 對象。Type類包含關於實值型別和參考型別的資訊
Type mytype = typeof(int);
Char 在 C#中表示一個 Unicode 字元
InControl
IsDigit
IsLetter
IsLetterOrDigit
IsLower
IsNumber
IsPunctuation 標點符號類別
IsSeparator 分隔字元類別
IsUpper
IsWhiteSpace
Parse 將指定字串的值轉換為他的等效Unicode字元
ToLower
ToUpper
字串 string ,它是String類的別名
String 對象的值是不可改變的,String類所定義的變數是一個參考型別
比較字串
Compare(bool ignoreCase)
CompareTo —— 以執行個體對象本身與指定的字串作比較
Equals —— 兩個字串是否相同 (區分大小寫和地區性)
格式化字串
Format —— 索引預留位置(格式項)
string StrA = "用一生下載你"; //聲明字串StrA string StrB = "永不放棄"; //聲明字串StrB string newstr = String.Format("{0},{1}!!!", StrA, StrB); //格式化字串
用於日期的格式規範
DateTime dt = DateTime.Now; //擷取系統當前日期 string strB = String.Format("{0:D}", dt); //格式化成短日期格式
截取字串
Substring
分割字串
Split
string StrA = "用^一生#下載,你"; //聲明字串StrA char[] separator = { ‘^‘, ‘#‘, ‘,‘ }; //聲明分割字元的數組 String[] splitstrings = new String[100]; //聲明一個字串數組 splitstrings = StrA.Split(separator); //分割字串
插入和填充字串
Insert PadLeft PadRight
刪除字串
Remove
複製字串
Copy CopyTo —— 將字串的某一部分複製到另一個數組中
string str1 = "用一生下載你"; //聲明一個字串變數str1並初始化 char[] str = new char[100]; //聲明一個字元數組str //將字串str從索引1開始的4個字串複製到字元數組str中 str1.CopyTo(1, str, 0, 4);
替換字串
Replace
可變字串類 StringBuilder
存在於 System.Text 命名空間中 —— String對象是不可改變的,每次使用String類中的方法時,都要在記憶體中建立一個新的字串對象。如需要對字串執行重複修改 —— StringBuilder
StringBuilder LS = new StringBuilder("用一生下載你", 100); LS.Append("VS芸燁湘楓"); //使用Append方法將字串追加到LS的末尾 Console.WriteLine(LS); //輸出LS //使用AppendFormat方法將字串按照指定的格式追加到LS的末尾 LS.AppendFormat("{0:C}", Num); Console.WriteLine(LS); //輸出LS LS.Insert(0, "名稱:"); //使用Insert方法將“名稱:”追加到LS的開頭 Console.WriteLine(LS); //輸出LS //使用Remove方法從LS中刪除索引15以後的字串 LS.Remove(15, LS.Length - 15); Console.WriteLine(LS); //輸出LS //使用Replace方法將“名稱:”替換成“一生所愛” LS.Replace("名稱", "一生所愛");