C#判断数据类型的简单示例代码:
int i = 5;
Console.WriteLine( "i is an int? {0}",i.GetType()==typeof(int));
Console.WriteLine( "i is an int? {0}",typeof(int).IsInstanceOfType(i));
HOW TO:使用 System.Convert 轉換資料型別
System.Convert 類別提供了一組完整的方法,供支援的轉換使用。它提供了一種與語言無關的方式來執行轉換,所有以 Common Language Runtime 為目標的語言都可以使用。雖然不同的語言可能有不同的資料型別轉換技巧,但是 Convert 類別可確保所有常見的轉換都可用於泛用格式。這個類別會執行縮小轉換,以及不相關資料型別的轉換。例如,從 String 型別到數字型別 (Numeric Type)、從 DateTime 型別到 String 型別,以及從 String 型別到 Boolean 型別的轉換都支援。如需可用轉換的清單,請參閱 Convert 類別中的方法清單。Convert 類別會執行已檢查的轉換,如果轉換不受支援,就會擲回例外狀況。例外狀況通常是 OverflowException。如需支援轉換的清單,請參閱型別轉換表。
您可以將要轉換的值傳遞至 Convert 類別的其中一種適合方法,並將傳回的值初始化成為新的變數。例如,下列程式碼會使用 Convert 類別,將 String值轉換成 Boolean 值。
範例
string MyString = "true"; bool MyBool = Convert.ToBoolean(MyString); // MyBool has the value of True.
如果要將字串轉換成數字,也可以使用 Convert 類別。下列程式碼範例會將包含數值字元的字串轉換成 Int32 值。
string newString = "123456789"; int MyInt = Convert.ToInt32(newString); // MyInt has the value of 123456789.
在您所使用的特定語言中無法以隱含方式執行的縮小轉換,也可以使用 Convert 類別。下列程式碼範例會說明使用 Convert.ToInt32 方法,從 Int64 轉換成較小 Int32 的縮小轉換。
Int64 MyInt64 = 123456789; int MyInt = Convert.ToInt32(MyInt64); // MyInt has the value of 123456789.
有時候,使用 Convert 類別的縮小轉換會變更轉換項目的值。下列程式碼範例會將 Double 轉換成 Int32 值。在這種情況下,會將 42.72 這個值四捨五入為 43,以便完成轉換。