如何定義二維動態數組? 如果我想使用列表<>,我可以在兩個維度使用它嗎?定義二維動態數組
定義二維動態數組
回答
沒有我意識到的二維數組的內置動態等價物,但您可以輕鬆獲得或多或少相同的功能。
定義座標類此API:
public class Coordinate : IEquatable<Coordinate>
{
public Coordinate(int x, int y);
public int X { get; }
public int Y { get; }
// override Equals and GetHashcode...
}
現在,您可以創建這些座標實例的集合。
如果您創建一個HashSet<Coordinate>
您將得到保證,如果它已被添加,則不能添加座標,因爲它會覆蓋Equals。
如果你願意,你可以展開協調,以Coordinate<T>
這樣的:
public class Coordinate<T> //...
{
// previous stuff...
public T Item { get; set; }
}
這將讓你與每個座標強類型項目相關聯,就像這樣:
var items = new HashSet<Coordinate<string>>();
items.Add(new Coordinate<string>(1, 4) { Item = "Foo" });
items.Add(new Coordinate<string>(7, 19) { Item = "Foo" });
// ...
嘿,我喜歡這個:) – 2009-12-21 10:47:41
我試過這個解決方案,我不知道它是因爲事情在更新版本的c#中發生了變化,但這些都是我得到的錯誤。(座標)' 以及'Coordinate.Coordinate(int,int)'必須聲明一個實體,因爲它沒有被標記爲抽象,外部或者部分' 以及'使用泛型類型'座標<>'需要1個類型參數' – Edward 2016-09-20 22:52:53
你應該看看這裏:Arrays Tutorial in C#。無論如何,這裏的語法是:type[,] name
用於多維數組,type[][] name
用於鋸齒形數組(更改type
表示要存儲在數組中的對象的類型)。
聲明後如何添加到數組中? – 2011-10-07 13:45:01
這將是這樣的:
List<List<string>> twoDimensional = new List<List<string>>();
但我認爲這是不切實際的,使用這樣的列表,更好地訴諸陣列...
這只是一個列表清單。不是二維的。 – leppie 2009-12-21 10:31:00
-1這相當於鋸齒陣列,而不是二維數組。 – 2009-12-21 10:34:12
嗯,你是對的....我們應該有更多的信息在問題的背景下,爲什麼他需要它等。 – 2009-12-21 10:37:18
隨着你不能陣列,他們從來沒有'動態'。
使用列表你不能(除非你通過提供一個額外的索引器使它看起來像一個),除非你只是尋找列表(這不是多維的)。
這將是(對字符串列表的列表):
List<List<string>>
可以使用例如列表List>和c#中的列表非常快。
但兩d數組,你需要這樣的東西:
int[,] arr = new int[100,100];
,這應該是超過列表更快。
- 1. cpp二維動態數組
- 2. 動態二維數組
- 3. C++二維動態數組
- 4. 二維數組定義
- 5. 定義不同類型的二維動態數組
- 6. 如何在python中定義一個動態的二維數組?
- 7. 如何動態創建二維數組?
- 8. 安全刪除動態二維數組
- 9. 訂購使用二維動態數組
- 10. 動態內存分配 - 二維數組
- 11. 創建動態二維數組
- 12. 用於二維數組的動態malloc
- 13. 簡單動態二維數組問題
- 14. JavaScript的 - 控制二維動態數組
- 15. 創建一個動態二維數組
- 16. 添加二維動態數組
- 17. 二維數組的動態分配
- 18. 動態分配二維數組
- 19. 讓行/動態二維數組元素
- 20. 動態分配一個二維數組
- 21. C++中的動態二維數組?
- 22. vb.net動態數組二維碼
- 23. 動態生成的二維數組
- 24. MPI_Bcast一個動態二維數組
- 25. Jquery JavaScript創建動態二維數組
- 26. 動態二維數組初始化
- 27. 分配動態二維數組
- 28. 動態二維數組:空間問題
- 29. 定義靜態二維數組與內聯函數
- 30. 在Perl類中定義二維數組
請告訴我們更詳細的情況。當你不需要二維數組時,有一些情況,但是字典或類似的東西。 –
serhio
2009-12-21 10:32:24