0

<string, IComparable>私は、値がほとんどすべての値の型を含むことができることを意味する 辞書を持っています。

値を更新するときに、文字列入力を元の型に変換したいと思います。あらゆる種類の変換を試みましたが、成功していないようです。

辞書の例 val = new Dictionary (); Val.Add ("テスト", 1); ヴァル ["テスト"]="44"; //これは、変換を試みた場所です。しかし、それは常に int であるとは限りません。

そのため、更新前の値が int の場合、int として格納されます。バイトの場合は、バイトとして格納されます。

誰でも私を正しい方向に向けることができますか

ありがとう

4

2 に答える 2

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 に答える
0

使用されるすべてのデータ型 (int、byte など) がわかっていると仮定すると、typeof 演算子を使用して事前に型をチェックし、データからその型にキャストできます。

if (typeof(Val["test]) == int)
{
    Val["test"] = int.parse("44");
}
于 2013-09-10T13:00:15.603 に答える