C#开发 —— 基础知识
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類型的變量lsbyte shj = 255; //聲明一個byte類型的變量shjConsole.WriteLine("ls={0}", ls); //輸出int類型變量lsConsole.WriteLine("shj={0}", shj); //輸出byte類型變量shjC# 中使用 enum 來聲明枚舉類型
類型轉換
隱式
顯式
裝箱和拆箱 (裝箱 —— 將值類型隱式轉換成引用類型,拆箱 —— 允許將引用類型顯示轉換為值類型)
int i = 2008; //聲明一個int類型變量i,并初始化為2008object obj = i; //聲明一個object類型obj,其初始化值為iConsole.WriteLine("1、i的值為{0},裝箱之后的對象為{1}", i, obj);i = 927; //重新將I賦值為927Console.WriteLine("2、i的值為{0},裝箱之后的對象為{1}", i, obj);Console.ReadLine();裝箱后改變值類型變量的值,并不會影響裝箱對象的值
int i = 112; //聲明一個int類型的變量i,并初始化為112object 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 = "用一生下載你"; //聲明字符串StrAstring StrB = "永不放棄"; //聲明字符串StrBstring newstr = String.Format("{0},{1}!!!", StrA, StrB); //格式化字符串用于日期的格式規范
DateTime dt = DateTime.Now; //獲取系統當前日期string strB = String.Format("{0:D}", dt); //格式化成短日期格式截取字符串
Substring
分割字符串
Split
string StrA = "用^一生#下載,你"; //聲明字符串StrAchar[] 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); //輸出LSLS.Insert(0, "名稱:"); //使用Insert方法將“名稱:”追加到LS的開頭Console.WriteLine(LS); //輸出LS//使用Remove方法從LS中刪除索引15以后的字符串LS.Remove(15, LS.Length - 15);Console.WriteLine(LS); //輸出LS//使用Replace方法將“名稱:”替換成“一生所愛”LS.Replace("名稱", "一生所愛");轉載于:https://www.cnblogs.com/sprint1989/p/3825573.html
總結
以上是生活随笔為你收集整理的C#开发 —— 基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【python核心编程】第六章 序列
- 下一篇: C#值类型以及默认值记录下