作者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