標籤:
二.實值型別和參考型別
2.1 實值型別:所有的數實值型別都是實值型別(short int long float double ...),枚舉,布爾類型,結構
2.2 參考型別:對象 ,字串,object,數組
2.2.1 參考型別的值是儲存在堆裡面的,棧裡面儲存的只是它的引用地址.
2.2.2 參考型別的賦值,實際上就是地址的拷貝
2.3 要去調用一個類裡面的非靜態成員(欄位,方法),需要通過類的一個對象去調用
要去調用一個類裡面的靜態成員,只需要通過類去調用即可。
2.4 當執行個體化一個類的對象的時候,堆裡面會將類裡面的所有的非靜態成員(變數,方法)產生。
2.5 當去執行個體化一個類的對象的時候,首先會在堆裡面檢索該類的對象是否存在,如果存在就會拷貝一份
2.6 當去執行個體化一個對象的時候,類裡面所有的成員(靜態或非靜態,實值型別或參考型別)都是儲存在堆裡面
三.裝箱和拆箱
3.1 裝箱:實值型別轉換為參考型別
int i=10;
string s=i.tostring();
拆箱:參考型別轉換為實值型別
string s="10";
int i=convert.toint32(s);
3.2 資料類型轉換
隱式轉換:低精度轉為高精度,直接轉
int i=123;
Double b=i;
顯式轉換:高精度轉為低精度,必須指明要轉換的目標類型,由於資料的差異,有可能丟失部分資料
double x=1223.4;
int a;
a=(int)x;
3.3 ??
a=b??c ----> b為null嗎,為null則a=c不為null則a=b
string(一)
一.字串
1.1 字串轉變為數組
string s="asdfghk"
char[] a=s.tochararray();
1.2 str.Length表示字串裡面字元的個數。
1.3 字串對象一旦被建立,這個對象就不能被修改。
二.常用方法
2.1 equals:判斷兩個字串是否相同, 如果相同傳回值為true,否則為false
console.writeline(string.equals("aa","bb"));
2.2 當一個類是一個靜態類的時候,類裡面的所有成員都是靜態
2.3 定位字串
StartWith/EndWith 判斷一個字串是否以一個字串_開頭(結尾),傳回值true/false
indexOf/LastindexOf 某個指定的字元或字串第一次(最後一次)出現的位置
2.4 截取字串 Substring
2.5 插入和填充字串
2.5.1 insert方法
string str1 = "hi";
string str2 = "world";
string str3=str1.Insert(1,str2);
2.5.2 PadLeft/PadRigth方法
string str1=”hi”;
string str2=str1.PadLeft(4,’@’); -------left 填充到左邊,right填充到右邊
Console.WriteLine(str2);
結果為:@@hi
2.6 刪除和剪下字串Remove方法
2.6.1 Remove(開始刪除的位置,刪除的數量)
2.6.2 Trim
1.去除掉前後空格
2.去除特殊字元
Char[] str1={‘@’,’#’,’$’};
string str2=”@China$#”;
string str3=str2.Trim(str1);
Console.WriteLine(str3)
結果為China
2.6.3 TrimStart(去掉前面的空格),TrimEnd(去掉後面的空格)
2.6.4 CopyTo方法
string str1=”China”;
char[] str2=new char[100];
str1.CopyTo(0,str2,0,3);//要複製的字元(str1)的起始位置,目標數組(str2),指定目標數組中開始存放的位置,要複製的字元個數
2.7 替換字串
string str1=”hello”;
string str2=str1.Replace(“ll”,”r”);
Console.WriteLine(str2);
2.8 format 將內容傳到字串裡面去
string.format("年齡是{0},姓名是{1}",a,b);
2015-10-26 c#2