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

看板C_Sharp作者 (抓不住...)時間16年前 (2009/10/11 10:23), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串2/2 (看更多)
List<CharacterCard> theCharCards = new List<CharacterCard>(); List<Card> theCard = theCharCards.ConvertAll<Card>( delegate(CharacterCard item) { return (Card)(object)item; } ); 應該就可以了~~ ※ 引述《Killercat (殺人貓™)》之銘言: : 請問一下,我設計碰到一個比較麻煩的問題 : 可能有點新手,不過以往比較沒碰過 : 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: 218.174.36.165

10/11 11:57, , 1F
水喔
10/11 11:57, 1F

10/11 12:52, , 2F
匿名函式...這個漂亮 XD
10/11 12:52, 2F

10/11 13:00, , 3F
不過這種轉法仍然有warning,請問有沒有辦法安全轉?
10/11 13:00, 3F

10/11 14:48, , 4F
為什麼會有Warning? 想要安全就用as轉~~
10/11 14:48, 4F
文章代碼(AID): #1AqK6zPw (C_Sharp)
文章代碼(AID): #1AqK6zPw (C_Sharp)