一、類型轉換
**************************************************************************************************************
1.任何類型都可以轉換為其基類類型,用隱式轉換完成;
2.任何類型轉換為其派生類型時,必須進行顯示轉換。如:(類型名)對象名;
3.使用GetType可以取得任何對象的精確類型;
4.基本類型可以使用Convert類實現類型轉換;
5.除了string以外的其他類型都有Parse方法,用於將字符串類型轉換成對應的基本類型;
6.值類型和引用類型的轉換稱為裝箱(boxing)或拆箱(unboxing);
**************************************************************************************************************
二、is/as示例
is轉換規則:
1. 檢查對象類型的兼容性,並返回結果true(false);
2.不會拋出異常;
3.如果對象為null,剛返回false;
示例:
object o = "abc";
if (o is string) //執行第一次類型兼容性檢查
{
string s = (string)o; //執行第二次類型兼容性檢查,並轉換
MessageBox.Show("轉換成功!");
}
else
{
MessageBox.Show("轉換失敗!");
}
as轉換規則:
1.檢查對象類型的兼容性,並返回轉換結果,如果不兼容則返回null;
2.不會拋出異常;
3.如果結果判斷為空,則強制執行類型轉換將拋出NullReferenceException異常;
示例:
object o = "abc";
string s = o as string; //執行第一次類型兼容性檢查,並返回結果
if (s != null)
MessageBox.Show("轉換成功!");
else
MessageBox.Show("轉換失敗!");
注:as比is少執行一次兼容性檢查,性能可能會高一點點。