HA

C#判斷DataColumn的字段類型

C#判斷DataColumn的字段類型

今天做的一個要把表格型數據導入一個 DataTable 中,讀取都是字符串,table 中有字段是數值類型,讀取時Int32也當作Double解析,因為導入字符串可能為空,所以需要在導入時當前列是否是數值列,如果是進行 Double.TryParse 操作,解析失敗的賦值為0

            DataTable tb = new DataTable();
            tb.Columns.Add(new DataColumn("id", Type.GetType("System.Double")));

            foreach(DataColumn d in tb.Columns) {
                log((d.DataType is System.Double).ToString());// 一個是Type,一個是struct
                log(d.DataType.ToString());
                log((d.DataType.ToString() == "System.Int32").ToString());//這樣可以判斷
            }
/*
False
System.Double
True
*/

reference