我有一个string []项的静态数组,如下所示:
public string[] stringItems = {"sItem1", "sItem2", "sItem3"}
我还有一个班级列表如下。每个数组项都需要有这个类列表对象:
public class PriceList
{
public DateTime listDate { get; set; }
public decimal listPrice { get; set;
}
public override string ToString()
{
return String.Format("Date: {0}; Price: {1};", listDate, listPrice);
}
我使用以下方法设置数据:
dataList.Add(new PriceList() { listDate = today, listPrice = price, theVolume = volume });
任何人都可以帮我弄清楚如何使用for循环设置数组中每个索引的数据?我认为每个数组项都需要拥有自己的价格列表类,但我不知道如何设置和调用它们。我可能最容易将其设置为带参数的方法,并为每个数组项调用它。
感谢。
为了使我的问题更清楚,我需要以下内容:Table
每个sItem的属性可能包含100或100,000个列表项。每个sItem将始终具有相同数量的列表项。
在程序的不同点,我需要直接调用sItems来获取其他数据点。
答案 0 :(得分:1)
public class Item {
public string Name { get;set;}
public List<PriceList> Prices {get;set;} = new List<PriceList>();
}
public string[] stringItems = {"sItem1", "sItem2", "sItem3"};
var items=stringItems.Select(x=>new Item {Name=x});
-- Adding --
items.First(i=>i.Name=="sItems1").Prices.Add(new PriceList() { ... });
答案 1 :(得分:0)
您可能最好创建一个包含项目描述的类:
public class PriceList
{
public string itemDescription { get; set; }
public DateTime listDate { get; set; }
public decimal listPrice { get; set; }
public int theVolume { get; set; }
public override string ToString()
{
return String.Format("Item: {0}; Date: {1}; Price: {2}; Volume {3};", itemDescription, listDate, listPrice, theVolume);
}
}
您可以向ArrayList
(System.Collections
)或List<T>
动态添加条目:
ArrayList items = new ArrayList();
或
List<PriceList> items = new List<PriceList>();
然后你可以遍历你的静态列表
foreach (string s in stringItems)
{
PriceList pl = new PriceList () { itemDescription = s, listDate = today, listPrice = price, theVolume = volume };
items.Add (pl);
}
ArrayList
和List
都可以直接引用带有[ n ]项的索引位置,您也可以使用foreach。