作者deo2000 (800IM)
看板C_Sharp
标题[问题] C# 不用指标实作Linklist
时间Sun Apr 13 19:47:52 2014
因为动态new出的物件数量是不固定的,
所以我想用Linklist去管理所有物件,但实作
Linklist 就要分别存取 物件的位置 与 物件的实体
ref 修饰词只有在函式参数能用,一般宣告不能,要怎麽办?
//基础类别
abstract class Shape
{//此为抽象类别,不可以实体化
public Shape Next = null;
ref public Shape Next = null; //错误
}
//实体化的类别将会继承 Shape
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.122.165.185
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1397389675.A.EB0.html
1F:→ iterator:1.不用自己做轮子, 2.多半List<>就能符合你的需求 04/13 20:27
2F:推 NDark:为什麽不用 Link<> 04/13 20:27
用过了,我想自干看看
3F:→ iterator:3. 你的 "Next" 本身就是个 reference 04/13 20:29
4F:→ iterator:4. 把"容器"跟"物品"分开来比较好 04/13 20:40
5F:→ ssccg:C#里的reference type变数其实就像指标,只是不能做指标运算 04/13 23:42
6F:→ ssccg:ref是用来pass by reference,跟你的需求无关 04/13 23:43
7F:→ Litfal:同意楼上,对引用类ref比较像**(指标的指标),但把复杂度 04/14 00:23
8F:→ Litfal:隐藏起来了。使用方法与属性就像指标,而赋值像指标的指标 04/14 00:24
如果是已经连结实体物件的参考,ref1 = ref2 就可以让两者都控制物件,
但如果ref2是空的, 先做 ref1 = ref2 再new物件给 ref1 或 ref2,
ref1 和 ref2 就还是各自独立,不能视为同一个物件的分身,
这样要如何实做一个node呢?
※ 编辑: deo2000 (60.245.65.195), 04/14/2014 02:11:27
9F:→ ssccg:Node first = new Node(), second = new Node(); 04/14 11:47
10F:→ ssccg:first.Next = second; 我不知道你的问题在哪? 04/14 11:47