は、以下の単純なプロパティ異なるプロパティ
Class Data
{
public string AA { get; set; }
public int BB { get; set; }
public int CC { get; set; }
...
}
とデータ項目のリストを与えられたリストアイテムから、リスト項目を復元いくつかの例のデータを有する
List<Data> Items = new List<Data>;
"2002", 3 ,5 ..
"2002", 3 ,5 ..
"2006", 4 ,2 ..
"2002", 3 ,5 ..
"2018", 9 ,7 ..
"2018", 5 ,5 ..
私は文字列AAのdistint値を見つける必要があるので、私は次のコードを使用することができます
foreach(var itm = Items.Select(x => x.AA).Distinct()))
{
use itm ...
}
これはcoretly itm = string "2002"、 "2006"、 "2018"を返すが、 "Distinctly Selected"項目の残りのプロパティ、すなわちBBなども復元する必要がある。プライマリフィールドに移動します。
私はこれを達成しようとする方法を試しましたが、成功しなかったため、誰かがこれを達成する方法を示すことができれば感謝します。
私はアイテムにインデックスを再現しようとしましたが、リスト内のすべてのアイテムを に返すためには遠いところで動作する基本アイテム、つまりDataを返します。
実際には、数万のデータ項目があり、そのデータ項目にリンクされたフィールドを回復する必要があります。
私は現在、別個のアイテムを抽出し、生成されたリストを使用して最初に一致するアイテムを検索し、次にデータを回復するための実用的なソリューションを持っています。それは動作しますが、私はリストに対して余分な時間を処理しなければならないので、あまり贅沢ではありません。このソリューションにはSQLオプションはありません
注意、供給されたデータは、XMLやJSONソリューションです
コメントは
おかげ
あなたは鍵が 'AA'と値です'すべてのデータのリストが同じ 'AA'を持つオブジェクトですか?'辞書<文字列、リスト>を使用してみましたか – Enfyve
過去の経験から、たくさんの品物を粉砕するように頼んだとき、私は辞書が非常に遅いことを発見しました。私は練習することが5000000項目があるかもしれないが、それは考えられた感謝です。 –