Diskuze: C# - řazení List<>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Nemusíš to nutně psát přímo přes sql, ale třeba lambda výrazem
mojeTridaList.Where(j => j.a > j.b).OrderByDescending(j => j.a - j.b).ToList();
Tímhle získáš List, kde a bude větší jak b a bude to seřazeno podle velikosti rozdílů mezi a a b od největšího po nejmenší. Pokud tyhle změny v seřazení nechceš použít někde jednorázově, ale nechat je na listu, tak je ještě potřeba provést přiřazení
mojeTridaList = mojeTridaList.Where(j => j.a > j.b).OrderByDescending(j => j.a - j.b).ToList();
class MojeTrida : IComparable<MojeTrida>
{
public int a { get; set; }
public int b { get; set; }
private int State
{
get
{
if (a > b)
return 1;
if (a < b)
return 2;
return 3;
}
}
public int CompareTo(MojeTrida other)
{
return State.CompareTo(other.State);
}
}
mojeTridaList.Sort();
EDIT: zmena na koho jsem odpovidal.
Zobrazeno 3 zpráv z 3.