我有我的數據結構如下列表:如何存儲設計時數據
Category0
-SubCategory0
-SubCategory1
-SubCategoryN
Category1
-SubCategory1_0
-SubCategory1_1
-SubCategory1_N
一個類別將有一個名稱,描述和一個唯一的整數ID
例如
Category = Ford Description = "USA Car" Id = 12345678
-SubCategory: Name = Mondeo Description = "Some text" Id = 12324
-SubCategory: Name = Fiesta Description = "Some text" Id = 9999
-SubCategory: Name = Orion Description = "Some text" Id = 123456
-SubCategory: Name = Focus Description = "Some text"Id = 8799
該列表在設計時已知,我需要綁定到列表視圖。我想要將Description作爲顯示文本綁定到列表視圖的每一行上,並將值(一個對象或一個名稱和Id的枚舉)作爲相應的值成員。
什麼是存儲此信息的最佳方法?我應該創建大量的枚舉嗎?或者我應該使用分隔字符串(例如「Ford:Mondeo:Some Text:12324」)以設計器模式直接綁定到列表視圖,然後根據需要進行解析和提取。也許最好是將數據存儲在強類型的枚舉中,使用id/description值的自定義屬性,例如綁定到字典,其中字符串是描述,CarType是具有屬性的類:Make(Ford):enum,Model(Modeo ):枚舉和Id(12324):int?如果您擔心在比較性能
public class Model
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public class Manufacturer
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<Model> Models { get; set; }
}
,並且你確切地知道所有的製造商和型號名稱,你應該考慮的名稱變更爲枚舉:
數據可能多久改變一次?它需要容易更新嗎? –
不是很頻繁。更改代碼可以確保更新。我關心的是在列表視圖上進行弱類型比較,比如:if(carListView.SelectedValue ==「Mondeo」) – guazz
顯然,我更喜歡if(carListView.SelectedValue == CarMode.Modeo)... – guazz