Laden...

Generieren eines neuen Dictionaries aus Dictionary<double,bool> mit LINQ

Letzter Beitrag vor 9 Jahren 4 Posts 1.242 Views
Generieren eines neuen Dictionaries aus Dictionary<double,bool> mit LINQ

verwendetes Datenbanksystem: <Dictionary>

Guten Morgen,

ich hänge leider etwas ..
ich möchte aus einem Dictionary<double,bool> mit LINQ eine neues Dictionary generieren.

z.B.

1564, True
8756,False
1, False
8907,87, True
301,2. False

alle KeyValuePairs, deren KEY zwischen 2 und 1800 liegen, sollen in ein neues Dictionary überführt werden. Ich habe das mit Schleifen gemacht, irgendwie bin ich nicht zufrieden damit.Ich würde das gern mit einer LINQ Anweisung machen... Dic.Where(......).Todictionary(v=>..)

Kann jemand helfen, ich will das auch verstehen ..

Vielen Dank für jeden Tip..

Andreasverwendetes Datenbanksystem: <bitte immer angeben>

noch ?????


var source = new Dictionary<double, bool>();

var result = source
.Where(p => p.Key > 2 && p.Key < 1800)
.ToDictionary(element => element.Key, element => element.Value);

Diese Überladung von ToDictionary nimmt zwei Argumente:

  • eine Funktion, die ihr sagt, wie der Key des neuen Dictionarys aus einem Element der Quelle bestimmt wird
  • eine Funktion, die ihr sagt, wie der Value des neuen Dictionarys aus einem Element der Quelle bestimmt wird

Da in diesem Fall die Quelle selbst schon ein Dictionary ist, ist das erste Argument p => p.Key und das zweite p => p.Value

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

MSDN: Linq 101 Samples

Hinter Linq steckt übrigens auch nichts anderes als Iterationen.
Rainer Stropek zeigt das schön in Besserer C#-Code durch funktionale Programmierung

Vielen Dank !!!!!!!!!

noch ?????