我需要根据 DataTable 中 DataColumns 的类型格式化输出。
具体来说,我需要将内置原始类型(int、string、decimal、DateTime 等)映射到:
我怎么能这样做?
最佳答案
如果内置 TypeCode
枚举满足您的需求,那么您可以阅读 DataType
您的属性(property)DataColumn
然后调用 GetTypeCode
,
TypeCode yourTypeCode = Type.GetTypeCode(yourDataColumn.DataType);
switch (yourTypeCode)
{
case TypeCode.Byte:
case TypeCode.SByte:
case TypeCode.Int16
case TypeCode.UInt16:
case TypeCode.Int32:
case TypeCode.UInt32:
case TypeCode.Int64:
case TypeCode.UInt64:
case TypeCode.Single:
case TypeCode.Double:
case TypeCode.Decimal:
Console.WriteLine("Numeric");
break;
case TypeCode.Boolean:
Console.WriteLine("Bool");
break;
case TypeCode.DateTime:
Console.WriteLine("DateTime");
break;
case TypeCode.String:
Console.WriteLine("String");
break;
case TypeCode.Empty:
Console.WriteLine("Null");
break;
default: // TypeCode.DBNull, TypeCode.Char and TypeCode.Object
Console.WriteLine("Unknown");
break;
}
如
TypeCode
不满足您的需求,那么您可以简单地将列类型转换为您自己的自定义枚举,如 John's answer 中所述。 .
关于.net - 如何确定DataColumn 的类型是数字、字符串还是日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3097467/