你会怎么做?我有一个数据列表,有两件事需要存储价格和项目,无论如何将数据存储在一个数组而不知道我将拥有的总行数?或者我应该使用一个集合,那些可以是多维的吗?
由于
答案 0 :(得分:6)
是的 - 我建议您查看通用列表。使用此功能,您可以为数据建模并存储任意数量的项目。
例如
public class PricedItem
{
public decimal Price { get; set; }
public object Item { get; set; }
}
然后可以在List<PricedItem
&gt;中存储/检索这些内容。 - 或作为'定价商品清单'。
希望有所帮助
答案 1 :(得分:2)
听起来你应该使用“词典”泛型集合,例如项目ID作为键,价格作为值。
如果您想在集合中获得更多信息,您甚至可以在字典中存储项类的实例。因此,如果您的商品类具有ID,名称,描述,价格等属性,则可以执行
之类的操作Dictionary<int, item> items = new Dictionary<int, item>();
items.add(myitem.id, myitem);
然后,对于任何商品ID,您都可以访问此类信息
string description = items[id].description;
decimal price = items[id].price;
答案 2 :(得分:2)
使用包含价格和商品的某种复合类型的List<>
。有一种称为KeyValuePair<>
的内置结构类型,允许您存储强类型的键(项)和值(价格)。 List<KeyValuePair<string, string>>
和一些Linq将允许您基于行,键或值执行查找。如果您想根据项目查找价格,则Dictionary是Key可访问的KeyValuePairs的集合,可以提供类似的功能但使用不同的内部结构,因此无法按行号访问。
答案 3 :(得分:0)
你可以
struct Item
{
float Price;
string ItemName;
}
和
List<Item> items = new List<Item>();
items.Add(new Item{Name="item1", Price=19.99});