看板 C_Sharp 關於我們 聯絡資訊
請問一下,我設計碰到一個比較麻煩的問題 可能有點新手,不過以往比較沒碰過 class CharacterCard : Card { ... ... ... } class DistrictCard : Card { ... ... ... } 也就是他們兩個有共通的父類別 現在他們兩個各有一個List List<CharacterCard> theCharCards = new List<CharacterCard>(); List<DistrictCard> theDistCards = new List<DistrictCard>(); 然後我希望能用一個List<Card>指向他們兩個 List<Card> theCards; 當然這轉不過去(所以我就上來問問各位有經驗的人了) theCards = theCharCards; //error theCards = theDistCards; //error theCards = (List<CharCards>)theCharCards; //一樣error 因為某些因素,無法寫成 List<Cards> theCharCards = new List<CharacterCard>();//這穩死的 應該不用try了 或者 List<Cards> theCharCards = new List<Cards>(); //裡面塞CharacterCards 請問有沒有什麼方法可以直轉?還是得重新設計系統讓他們全部用List<Card>裝? 先謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.114.66 ※ 編輯: Killercat 來自: 114.43.114.66 (10/10 23:38)
a761007:interface 10/11 00:15
liunate:看看LINQ中的CastTo<T>(或類似的)是否對你有幫助? 10/11 00:33
Killercat:一樓這個我想一下怎麼做,謝謝 @@ 二樓,我沒用過linq 10/11 02:32
Killercat:我看一下怎麼用,感謝 10/11 02:32