摘要:C# 判斷 Type 的兩種方法
之前用過一個 as 運算子的方法,久了又忘了,寫在這裡備忘:
CheckBox cbt = cb as CheckBox;
if (cbt != null)
cbt.Checked = true;
宣告一個CheckBox並且將被判斷的變數用as轉換,
如果 cb 不是 CheckBox的話,cbt會等於null。
我比較喜歡這個方法。
另一個方法是用GetType(),
GetType().Name可以取出Type名稱的字串,
好處是可以用switch…case判斷結果,如:
string ValueString;
switch (Value.GetType().Name)
{
case "String":
ValueString = (string)Value;
break;
case "Int32":
ValueString = ((int)Value).ToString();
break;
case "Boolean":
ValueString = Convert.ToString((bool)Value);
break;
default:
throw (new ApplicationException("型別不符"));
}
20160418 補充:
其實有第3種方法:用 is 更適合、更簡單。