Użyłem słowa kluczowego "select" i metody rozszerzającej, aby zwrócić IEnumerable<T>
z LINQ, ale mam potrzebę zwrócenia generycznego Dictionary<T1, T2>
i nie mogę tego rozgryźć. Przykład, którego się nauczyłem, użył czegoś w formie podobnej do poniższej:Wybierz Słownik <T1, T2> z LINQ
IEnumerable<T> coll = from x in y
select new SomeClass{ prop1 = value1, prop2 = value2 };
Zrobiłem to samo z metodami rozszerzenia. Zakładam, że ponieważ elementy w Dictionary<T1, T2>
mogą być iterowane jako KeyValuePair<T1, T2>
, że mogę po prostu zastąpić "SomeClass" w powyższym przykładzie przez "new KeyValuePair<T1, T2> { ...
", ale to nie zadziałało (Key i Value zostały oznaczone jako readonly, więc nie mogłem skompiluj ten kod).
Czy to możliwe, czy trzeba to zrobić w wielu krokach?
Dzięki.
+1 Whuh. Otwiera to nowe możliwości w sposobie tworzenia nowych obiektów danych. – Sung
Niesamowite, cieszę się, że skorzystasz z tego, wiem, że pomogło mi to w niektórych sytuacjach. –
Egady! Jest rok 2017 i dopiero się o tym dowiedziałem !! –