将值添加到foreach循环中的列表
c#
我只是想在 foreach 循环中将浮点值添加到列表中。代码完美地读取 row.Size 和 row.Price 并将额外的 RData1 集添加到 InDat,但始终使用 RData1.Size 和 RData1.Price 的“最新”数据集,而不是保留“前一个”循环值。所以在关闭循环后,我在列表的每一行中得到相同的值。
IEnumerable<ModelInput> inputData = mlC.Data.CreateEnumerable<ModelInput>(tView,reuseRowObject: true);
public List<InputData> InDat { get; set; }
InDat = new List<InputData>();
InputData RData1 = new InputData();
int count = 0;
foreach (ModelInput row in inputData)
{
count++;
RData1.Size = Convert.ToString(row.Size);
RData1.Price = Convert.ToString(row.Price);
InDat.Add(RData1);
}
回答
您需要在循环内实例化 Rdatat1:
int count = 0;
foreach (ModelInput row in inputData)
{
count++;
InputData RData1 = new InputData();
RData1.Size = Convert.ToString(row.Size);
RData1.Price = Convert.ToString(row.Price);
InDat.Add(RData1);
}