我有一个DataTable dt,其所有列都是字符串类型,但其中许多列具有“整数值”,但仅以字符串形式存在。
例如:
ColA
23
34
56
这些也存储在数据表中,但作为字符串值。
我想知道如何创建一个克隆的数据表,其中列具有根据该列内容的有效数据类型。
我有一个DataTable dt,其所有列都是字符串类型,但其中许多列具有“整数值”,但仅以字符串形式存在。
例如:
ColA
23
34
56
这些也存储在数据表中,但作为字符串值。
我想知道如何创建一个克隆的数据表,其中列具有根据该列内容的有效数据类型。
typeof
枚举类型列表并确定其类型。https://msdn.microsoft.com/zh-cn/library/58918ffs.aspx
例如,您可以执行以下操作:if (obj1.GetType() == typeof(int)){
// do something with int
}else if (obj1.GetType() == typeof(string)){
// do something with string
}
is
进行比较:if (myValue is Foo)
Foo foo = (Foo)myValue;
编辑:
好的,我犯了一个错误。你需要使用tryParse
来实现你想要的功能。方法基本相同,你需要循环不同的类型并检查返回值是否解析成功。例如:
int number;
bool result = Int32.TryParse(myString, out number);
if (result)
{
Console.WriteLine("Converted '{0}' to {1}.", myString, number);
}
tryParse
。我会编辑我的上面的答案。 - Iamnino