轉型很容易遇到問題,而且你不能預期問題的模式是一樣的,我的建議是,當你無法轉型成功,或是無法轉成預期的類型時,先確認一下類型為何?
輸出看看長怎樣,千萬不要有預設的立場。最近遇到很奇怪的問題,放進List<object>實例內的東西明明有List<List<object>>和List<string>,但是當再次取出要轉回原來的型別使用時,他們都變成了List<object>,之前在另一台電腦寫的時候並沒有這種問題,所以覺得很奇怪。
obj.GetType();
輸出看看長怎樣,千萬不要有預設的立場。最近遇到很奇怪的問題,放進List<object>實例內的東西明明有List<List<object>>和List<string>,但是當再次取出要轉回原來的型別使用時,他們都變成了List<object>,之前在另一台電腦寫的時候並沒有這種問題,所以覺得很奇怪。
//放入
List<object> totalList = new List<object>();
List<List<object>> nestList = new List<List<object>>();
List<string> strList = new List<string>();
totalList.Add(nestList);
totalList.Add(strList);
//取出
List<List<object>> nests = new List<List<object>>();
List<string> strs = new List<string>();
nests = (List<List<object>>) totalList[0]; // error
strs = (List<string>) totalList[1]; // error
留言
張貼留言