クライアントに出力する前に変更したいリストに問題があります。
質問のために、リストの例と、どのように結果を表示する必要があるかを投稿します。なぜなら、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;
}