在 C# 中檢查變數是否為數字型別
最近重新研究 Lucene,然後遇到一個小問題,就是我要動態檢查物件中裡的欄位為字串或數值型別,原本想說會不會有簡單的作法,但搜尋了一下,似乎只有粗暴的做法,程式碼如下:
public static bool IsNumericType(this object o)
{
switch (Type.GetTypeCode(o.GetType()))
{
case TypeCode.Byte:
case TypeCode.SByte:
case TypeCode.UInt16:
case TypeCode.UInt32:
case TypeCode.UInt64:
case TypeCode.Int16:
case TypeCode.Int32:
case TypeCode.Int64:
case TypeCode.Decimal:
case TypeCode.Double:
case TypeCode.Single:
return true;
default:
return false;
}
}
單純做個記錄。
參考資料