從大的方面來分,C#的數據類型可分為三類:值類型,引用類型,指針類型。指針類型僅用於非安全代碼中。
1 C#值類型可以分為:簡單類型,結構類型,枚舉類型。
1.1 簡單類型
簡單類型也是結構類型,因此有構造函數,數據成員,方法,屬性。int i=int.maxvalue,string s=i.ToString()是正確的。
簡單類型包括:數值類型和布爾類型(bool)。數值類型又細分為:整數類型,字符類型(char),浮點數類型和十進制類型(decimal),見下表:
這里需要注意的是string是字符串類,是引用類型,不屬於值類型。
1.2 結構類型
結構和類一樣,可能聲明構造函數,數據成員,方法,屬性。結構和類最根本的區別是結構是值類型,類是引用類型。
1.3 枚舉類型
C#枚舉類型使用方法的C,C++基本一致。
2 C#中的引用類可分為:類,接口,代表。
C#引用類對象一般用運算符new建立,用引用類型變量引用該對象。
2.1 對象類
C#中所有的類都直接或間接地以object類為基類。對象類(object類)是所有其它類的基類。任何一個類定義,如果不指定基類,默認object為基類。
2.2 數組類
在進行批量處理數據的時候,要用到數組。數組是一組類型相同的有序數據。
2.3 字符串類(string類)
C#定義了一個基本的類string,專門用於對字符串的操作。這個類也是在名字空間System中定義的,是類System.String的別名。
string類的典型用法:
字符串搜索:
string s="ABC科學";
int i=s.IndexOf("科");
結果i=3。如果沒有i=-1。
字符串比較函數:
string s1="abc";
string s2="abc";
int n=string.Compare(s1,s2);
n=0表示兩個字符串相同。n<0表示s1<s2。n>0表示s1>s2。
判斷字符串是否為空:
string s="";
string s1="不空";
if(s.Lenght==0)
s1="空";
得到子字符串或字符:
string s="取子字符串";
string sb=s.Substring(2,2);//從索引為2開始取2個字符,sb="字符",s內容不變
char sb1=s[0];//sb1='取'
字符串刪除函數:
string s="取子字符串";
string sb=s.Remove(0,2);//sb="字符串",s內容不變
插入字符串:
string s="計算機科學";
string s1=s.Insert(3,"軟件");//s1="計算機軟件科學",s內容不變
字符串替換函數:
string s="計算機科學";
string s1=s.Replace("計算機“,"軟件");//s1="軟件科學“,s內容不變
把String轉換為字符數組:
string s="計算機科學";
char[] s1=s.ToCharArray(0,s.Lenght);//屬性Lenght為字符類對象的長度
其它數據類型轉換為字符串:
int i=9;
string s=i.ToString();//s="9";
大小寫轉換:
string s="AaBbCc";
string s1=s.ToLower();//把字符串轉換為小寫,s1=aabbcc,s內容不變
string s1=s.ToUpper();//把字符串轉換為大寫,s1=AABBCC,s內容不變
刪除所有空格:
string s="A bc";
s.Trim();//s="Abc";