特別なタイプのリストがあります:
List<Spitzen_Frequenz_und_Wert> spitzenliste = new List<Spitzen_Frequenz_und_Wert>();
//...
public class Spitzen_Frequenz_und_Wert
{
public double Frequenz;
public double Wert;
}
spitzenlisteに値を追加しています。これは次のようになります(例):
Frequenz;Wert
1;0.1
2;0.8
3;0.2
4;0.9
5;0.2
6;0.8
このリストをWertで降順にフィルタリングしたいので、この例では
Frequenz;Wert
4;0.9
2;0.8
6;0.8
5;0.2
3;0.2
1;0.1
次に、最初の5つのエントリのみを保持します
Frequenz;Wert
4;0.9
2;0.8
6;0.8
5;0.2
3;0.2
次に、Frequenzで昇順で並べ替えます
Frequenz;Wert
2;0.8
3;0.2
4;0.9
5;0.2
6;0.8
私のアプローチ
var NachGrößeSortiert = spitzenliste.OrderByDescending(Spitzen_Frequenz_und_Wert => Spitzen_Frequenz_und_Wert.Wert).ToList();
NachGrößeSortiert.RemoveRange(5, NachGrößeSortiert.Count - 5);
var NachFrequenzSortiert = NachGrößeSortiert.OrderBy(Spitzen_Frequenz_und_Wert => Spitzen_Frequenz_und_Wert.Frequenz);
foreach (var kklm in NachFrequenzSortiert)
{
db(kklm.Frequenz + ";" + kklm.Wert);
}
結果は次のようになります
Frequenz;Wert
1;0.1
1;0.8
1;0.2
...
なにが問題ですか?
編集:数式は機能しますが、spitzenlisteの値が間違っていました。私はそれを修正し、それは機能しました。