在将其输出回客户端之前,我对想要更改的列表有疑问。
为了这个问题,我将发布一个列表示例以及我需要如何查看结果,因为我已经查看了 Intersect,Except 以及我能想到的所有其他内容,但没有得到我正在寻找的结果.
示例列表:
1, 4, 6, 8
1, 2, 6, 8
2, 4, 6, 8
3, 4, 5, 7
要求的结果:
1, 4, 6, 8 //初始行
-, 2, -, - //没有变化的项目会显示为 -
2, 4, -, -
3, -, 5, 7
我真的希望我解释得很好。
如果需要,我很乐意进一步解释这一点。
在此先感谢您的建议,到目前为止,我已经为此绞尽脑汁。;)
我尝试的内容太多,无法在这里输入,所以这就是我到目前为止所拥有的。除了根本不会对数据做任何事情,因为它认为行不同,所以它们保持不变。
private List<List<string>> FilterData(List<string[]> datatable)
{
List<string> previousRow = new List<string>();
List<string> currentRow = new List<string>();
List<string> rowDifferences = new List<string>();
List<List<string>> resultingDataset = new List<List<string>>();
foreach (var item in datatable)
{
if (previousRow == null)
{
previousRow = item.ToList();
continue;
}
currentRow = item.ToList();
rowDifferences = currentRow.Except(previousRow).ToList();
resultingDataset.Add(rowDifferences);
}
return resultingDataset;
}