簡體   English   中英

從icomparable列表中獲取類型

[英]Getting type from list of icomparable

我有一個<string, IComparable>的字典,這意味着該值幾乎可以包含任何值類型。

現在,當我更新值時,我想將輸入的字符串轉換為原始類型。 我嘗試了所有方式的轉換,但似乎沒有任何成功。

示例字典val = new字典(); Val.Add(“ test”,1); Val [“ test”] =“ 44”; //這是我嘗試轉換的地方。 但這並不總是一個整數。

因此,如果pre update的值是int,則它將存儲為int。 如果是字節,則將其存儲為字節。

誰能指出我正確的方向

謝謝

string id = "type";
val.Add(id, 1);
var type = val[id].getType();
val[id] = System.Convert.ChangeType("44", type);

假設您知道將要使用的所有數據類型(int,字節等),則可以使用typeof運算符先檢查類型,然后從數據中將其轉換為該類型。

if (typeof(Val["test]) == int)
{
    Val["test"] = int.parse("44");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM