Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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
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 Hartinger
Vlastník
Avatar
Odpovídá na Lako
David Hartinger: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
New kid back on the block with a R.I.P
Avatar
Lako
Člen
Avatar
Odpovídá na David Hartinger
Lako:14.3.2014 10:32

Jak jednoduché.
Díky

 
Nahoru Odpovědět
14.3.2014 10:32
Avatar
Petr Nymsa
Tvůrce
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.