IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:16.4.2013 17:45

Ahoj, není v C# nějáká funkce na vrácení nejčastější položky v listu? Jestli ne, tak jak by se dala z listu barev vybrat barva která je tam nejčastěji?

Odpovědět
16.4.2013 17:45
Mo8ilε 15 Ѐλđ
Avatar
paanoik
Člen
Avatar
Odpovídá na Theodor Johnson
paanoik:16.4.2013 18:13

Není, ale napsat si něco takového je otázka pár minut. Těžko říct, k čemu to je, resp. co je v listu, čím se plní a jak často, ale popřemýšlej nad oddělenou kolekcí/hashtable, kde si budeš počítat ty hodnoty už při vytváření/upra­vování toho listu. Zapouzdření toho listu do vlastní třídy by bylo pak minimálně vhodné.

 
Nahoru Odpovědět
16.4.2013 18:13
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Theodor Johnson
Petr Nymsa:16.4.2013 18:18

Možná by to šel použít LINQ ale nevím. Jinak bych to řešil projetím prvků a spočítal počet, nic složitého... tady je možná fugjící příklad přes LINQ

var query = list.SelectMany(x => x.Names)
                .GroupBy(s => s)
                .Select(g => new { Name = g.Key, Count = g.Count() });
Nahoru Odpovědět
16.4.2013 18:18
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na Petr Nymsa
Theodor Johnson:16.4.2013 18:23

Díky, hned jak vyřeším jak přepsat List<List<Color>> do pole tak to zkusím

Nahoru Odpovědět
16.4.2013 18:23
Mo8ilε 15 Ѐλđ
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Theodor Johnson
Petr Nymsa:16.4.2013 18:26

List v Listu se mě osobně moc nelíbí. Mnohem hezčím řešení podle mě, idky žve výsledku je to skoro to samé, je vytovři třídu, která bude mít List<Color>.

class ColorSet
{
  public List<Color> Colors{get;set;}

  public ColorSet(List<Color> c)
  {this.Colors=c;  }

}

// použití

List<ColorSet> allColors;

Jinak přepsání Listu do pole jde snadno. Buď metodou CopyTo() nebo metodou ToArray(). První pouze zkopíruje list do pole, dtuhá list převede do pole.

Nahoru Odpovědět
16.4.2013 18:26
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na Petr Nymsa
Theodor Johnson:16.4.2013 18:49

Ale já nemůžu prostě zkopírovat list do pole, ještě ho před tím musím z barev převíst na čísla ale to už není nic těžkýho, to mam za chvilku hotový pomocí switcheru

Nahoru Odpovědět
16.4.2013 18:49
Mo8ilε 15 Ѐλđ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.