[問題] Collection內容的轉型問題

看板C_Sharp作者 (殺人貓™)時間16年前 (2009/10/10 23:36), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/2 (看更多)
請問一下,我設計碰到一個比較麻煩的問題 可能有點新手,不過以往比較沒碰過 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)

10/11 00:15, , 1F
interface
10/11 00:15, 1F

10/11 00:33, , 2F
看看LINQ中的CastTo<T>(或類似的)是否對你有幫助?
10/11 00:33, 2F

10/11 02:32, , 3F
一樓這個我想一下怎麼做,謝謝 @@ 二樓,我沒用過linq
10/11 02:32, 3F

10/11 02:32, , 4F
我看一下怎麼用,感謝
10/11 02:32, 4F
文章代碼(AID): #1AqAeGcg (C_Sharp)
文章代碼(AID): #1AqAeGcg (C_Sharp)