我有一个DataTable dt,其所有列都是string类型,但其中很多都有" interger值"在他们中但仅作为字符串。
例如: -
可乐
23
34
56
这些也存储在datatable中,但作为字符串值。
我想知道如何根据该列的内容使用具有有效数据类型的列来复制我的数据表。
答案 0 :(得分:0)
在这种情况下,您可以使用typeof
枚举类型列表并确定它的类型。
https://msdn.microsoft.com/en-us/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);
}