5.1類型轉換express
1.類型轉換數組
1.1隱式轉換:全部狀況下可進行,編譯器執行轉換。ui
1.2顯示轉換spa
強制轉換:強迫數據從一種類型轉換爲另外一種類型。對象
(<destinationType>)<sourceVar>索引
溢出檢查上下文:ci
checked(<expression>)element
unchecked(<expression>)字符串
也可在VS中修改項目屬性propertie→Build→Advanced→check for arithmetic overflow/unoverflow編譯器
1.3使用 Convert命令進行顯式轉換。
Convert.ToBoolean(); Convert.ToChar(); Convert.ToDouble(); Convert.ToByte(); Convert.ToDecimal();
Convert.ToInt16();(short) Convert.ToInt32();(int) Convert.ToInt64();(long) Convert.ToUInt64(ulong)
Convert.ToSByte();(sbyte) Convert.ToSingle();(float)
Convert.ToString(); Convert.ToUInt16();(ushort)
要進行溢出檢查,且checked/unchecked以及項目屬性設置不起效
附:short*short 返回 int 類型的值。
另:ex1:short s1 =1;s1=s1+1; 報錯。
緣由:short+int,會隱式轉換爲int類型,C#會把byte,short等類型的數據進行四則運算後的結果設爲int類型,要求用戶進行一次強制類型轉換。
ex2:short s2=1;s2+=1;正確
緣由:複合賦值運算會將運算結果隱式轉換成運算符左邊的類型。
5.2 複雜的類型
2.1枚舉
定義:enum <typeName>:<underlyingType>(默認爲int,可指定爲其餘基本類型)
{
<value1>,
<value2>,
……,
<valueN>
}
聲明這個類型的變量:<typeName> <varName>;
賦值:<varName>=<typeName>.<value>;
附:(enumerationType)Enum.Parse(typeof(enumerationType),enumerationValueString);
把string 轉化爲枚舉值。
2.2結構
struct<typeName>
{
<memberDeclarations>→<accessibility><type><name>;(public double distance;)
}
2.3數組
1.聲明:<baseType>[] <name>;
2.foreach循環:對數組內容進行只讀訪問,不能改變任何元素的值。
foreach(<baseType><name> in <array>)
{
//can use <name> for each element.
}
3.多維數組:使用多個索引訪問其元素的數組。
5.3字符串的處理
string類型變量能夠當作是char變量的只讀數組。
<string>.ToCharArray();
<string>.ToLower();
<string>.ToUpper();
<string>.Trim(); <string>.TrimStart(); <string>.TrimEnd();
<string>.PadLeft(); <string>.PadRight();(在字符串左/右邊添加空格,使字符串達到指定長度。)
<string>.Split(); 可將string轉化爲string數組,把它在指定位置分隔開。
<string>[].Join();串聯對象數組的各個元素,其中在每一個元素之間使用指定的分隔符。