0

我有一本字典,<string, IComparable>这意味着该值几乎可以包含任何值类型。

现在,当我更新值时,我想将字符串输入转换为原始类型。我尝试了各种方式的转换,但我似乎没有取得任何成功。

示例字典 val = new Dictionary (); Val.Add(“测试”,1);val [“测试”] =“44”;//这是我尝试转换的地方。但它并不总是一个整数。

因此,如果预更新值是一个 int,那么它将被存储为一个 int。如果它是一个字节,那么它将被存储为一个字节。

谁能指出我正确的方向

谢谢

4

2 回答 2

0

假设您知道将使用的所有数据类型(int、byte 等),您可以使用 typeof 运算符检查之前的类型,然后从数据中转换为该类型。

if (typeof(Val["test]) == int)
{
    Val["test"] = int.parse("44");
}
于 2013-09-10T13:00:15.603 回答
0
string id = "type";
val.Add(id, 1);
var type = val[id].getType();
val[id] = System.Convert.ChangeType("44", type);
于 2013-09-10T12:32:41.307 回答