嗨,我想安装简单的测试数据。c#收集和重新编号不按预期工作
我只是想采取一个小集合,并通过添加多次使其更大。
在我将它们加在一起后,我想重新编号属性LineNumber ,以便没有重复并且按顺序排列。 1,2,3,4 ....
无论我尝试它,似乎不工作,我不能看到错误。
var sampleTemplateLine = dataContext.TemplateFileLines.ToList();
*//tired this doesnt work either*
//List<TemplateFileLine> lineRange = new List<TemplateFileLine>();
//lineRange.AddRange(sampleTemplateLine);
//lineRange.AddRange(sampleTemplateLine);
//lineRange.AddRange(sampleTemplateLine);
//lineRange.AddRange(sampleTemplateLine);
var allProducts = sampleTemplateLine
.Concat(sampleTemplateLine)
.Concat(sampleTemplateLine)
.Concat(sampleTemplateLine)
.ToList();
int i = 1;
foreach (var item in allProducts)
{
item.LineNumber = i;
i++;
}
这似乎没有工作,要么
//re-number the line number
var total = allProducts.Count();
for (int i =0; i < total; i++)
{
allProducts[i].LineNumber = i+1;
}
问题:下面RETURN 4时,我很期待1
var itemthing = allProducts.Where(x => x.LineNumber == 17312).ToList();
总之 - 问题是当你添加同样的列表4次,你有4个引用新列表中的同一个对象。当你编辑其中一个 - 你编辑所有(4)。 –