假設我有一個C#類的對象列表。我希望有一個二維數組(或列表清單,或其他可以做同樣的事情),可以保存列表中所有對象之間關係的信息。該類可能如下所示:創建動態二維數組,基於c#中的列表自動調整wpf
public class SimplePoint
{
public string strName{ get; set; }
};
public class SimpleRoute
{
public int iDistance{ get; set; }
};
public class Place
{
public ObservableCollection<SimplePoint> points;
// Below array should dynamically increase/decrease size
// depending on length of list of points
// The array should store 2 values for each possible set of points:
// distance from x to y, and distance from y to x
public SimpleRoute[, ] routes;
};
對於列表中的每個元素,2d數組/表應該有一行和一列。當一個元素被添加到列表中時,2d數組應該在兩個方向上增長,並且當元素被刪除時,表/數組應該在兩個方向上收縮。
在上面的代碼中聲明的二維數組顯然不適用於此。相反,我想知道'SimpleRoute'類是否可以以某種方式獲得ObservableCollection的'點',並在內部維護距離數據表。
後來我希望還能夠將XML數據(通過序列化)存儲在2d數組/表中 - 或者從它後面/後面的類中存儲數據,並能夠再次加載它(通過反序列化)。應該保持與'SimplePoints'列表的關係。 最後,自動調整表中的數據(即距離)應該由用戶編輯。我將使用WPF創建GUI。
我想知道在C#/。NET中這是最好的方法是什麼,但很難想到優雅的東西。搜索hasen't取得了很多結果,但我可能在錯誤的地方看。
也許有一些簡單的解決方案?我相對較新的.NET編程。
如果您對自己的需求更加具體,例如說明您映射的數據類型以及您映射的內容,則可以改進您的問題。 「對象」的意思幾乎是一切。 – 2015-02-11 11:05:19
謝謝@JoãoMiguelBrandão您的回答和建議。我編輯了這個問題,希望它能更清楚地表明我正在尋找什麼。 – mennowo 2015-02-11 11:27:43
也許你想在每個SimpleRoute裏面有一個字典>? –
2015-02-11 12:23:21