将值添加到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);
}


以上是将值添加到foreach循环中的列表的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>