Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
Využij akce až 80 % zdarma při nákupu e-learningu - více informací. Zároveň pouze tento týden sleva až 80 % na e-learning týkající se Swift
discount week 80
Avatar
Lako
Člen
Avatar
Lako:14.3.2014 10:17

Zdravím.
Jenom pro zkrášlení kódu se snažím dostat foreach do linq dotazu...
(value je typu object, leze mi to z konvertoru pro XAML, ale to je fuk..)

IList<DataPoint> dataPoints = new List<DataPoint>();
               IList<double> valueHistory = (List<double>) value;
               int i = 0;
               foreach (var val in valueHistory)
               {
                   DataPoint dataPoint = new DataPoint(i, val);
                   dataPoints.Add(dataPoint);
                   i++;
               }

Data point má v sobě proměnné typu X a Y (a ty přebírá konstruktorem), chci aby se X zvyšovalo o jednu (proto proměnná "i")...
ReSharper mi pomůže jen částečně, má právě problém s tou postupnou inkrementací:

IList<DataPoint> dataPoints = new List<DataPoint>();
               IList<double> valueHistory = (List<double>) value;
               int i = 0;
               foreach (DataPoint dataPoint in valueHistory.Select(val => new DataPoint(i, val)))
               {
                   dataPoints.Add(dataPoint);
                   i++;
               }

Jak tedy dostat do LINQ dotazu i to zvyšování o jedničku?

Díky díky.

Editováno 14.3.2014 10:19
 
Odpovědět
14.3.2014 10:17
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Lako
David Čápka:14.3.2014 10:23

IMHO by mělo jít:

int i = 0;
List<DataPoint> dataPoints = ((List<double>) value).Select(val => new DataPoint(i++, val))).ToList();

Ale nezkoušel jsem to.

Nahoru Odpovědět
14.3.2014 10:23
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Lako
Člen
Avatar
Odpovídá na David Čápka
Lako:14.3.2014 10:32

Jak jednoduché.
Díky

 
Nahoru Odpovědět
14.3.2014 10:32
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Lako
Petr Nymsa:14.3.2014 10:45

Přijde mě zase všude cpát LINQ jako horší řešení než foreach na 4 řádky :)

Nahoru Odpovědět
14.3.2014 10:45
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Lako
Člen
Avatar
Odpovídá na Petr Nymsa
Lako:14.3.2014 12:03

Jo, tady to není zrovna moc elegantní, pravda..

 
Nahoru Odpovědět
14.3.2014 12:03
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 5 zpráv z 5.