[Win App] 簡談轉型問題

轉型很容易遇到問題,而且你不能預期問題的模式是一樣的,我的建議是,當你無法轉型成功,或是無法轉成預期的類型時,先確認一下類型為何?

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

留言