作者yan04870449 (楊伯)
看板C_Sharp
標題[問題] list<T>如何裝一個"址"
時間Wed Aug 4 22:32:42 2010
之前寫c++的時後可以像下面這樣子寫
list< A* > Mylist ;
可是c#沒有指標不知道怎麼處理~"~
我很單純的以為可以寫list< ref A > Mylist ;
不過卻出現編譯錯誤....
請板上前輩指點一下!><
補
我把我的需求也說明一下好了。
現在我有一個main,這個main會產生一些A的物件,
但是在產生之後 "使用之前" 要先到Manager登記,而這個Manager裡
面就要有我需要的list< A* > Mylist 來裝這些a物件的"址"。
我遇到的問題就是,當我的main要把A物件刪除之前去Manager
取消登記的時候在做list::Remove()的時候出問題(retrun false )
因為我對c#的還不夠了解,所以我認為是址出了問題~"~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.128.56
1F:→ ssccg:你要位址有什麼特殊原因嗎? 如果只是因為A是reference type 08/04 22:45
2F:→ ssccg:直接 List<A> Mylist; 就好了 08/04 22:45
※ 編輯: yan04870449 來自: 122.117.128.56 (08/04 22:52)
3F:推 dk3208:打開unsafe選項之後你可以利用unsafe修飾詞來使用指標 08/04 23:22
4F:→ dk3208:不過A必須是一個值型別,也就是宣告為struct A而非class A 08/04 23:24
5F:→ ssccg:基本上reference type的變數本來就是存值,只是使用時會自動 08/04 23:26
6F:→ ssccg:幫你dereference,你的需求看起來應該用不到指標 08/04 23:26
7F:→ ssccg: 打錯 ↑存址 08/04 23:27
8F:→ ssccg:感覺應該是你Remove的使用方法有問題 08/04 23:29