作者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/m.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