2009-04-09 3 views

답변

12

Linq의 확장 방법에 해당하는 ConvertAllSelect!

var result = myLinkedList.Select(x => FancyCalculationWith(x)) 
+0

+1 == "map"(상위 함수) 선택 –

+0

물론 LinkedList 은 IEnumerable 을 구현한다고 가정합니다. LinkedList에 익숙하지 않다

+0

(기존 크기를 알고 있으므로 List.ConvertAll이 올바른 크기의 버퍼를 미리 할당 할 수 있다는 점이 다릅니다.) –

0

원하는 항목에 따라 다르지만 캐스트를 사용하여 결과 IEnumerable을 열거 할 수 있습니다.

public class Foo 
    { 
    ... 
    } 

    public class Bar : Foo 
    { 
    ... 
    } 

    var list = new LinkedList<Bar>(); 
    .... make list.... 

    foreach (var foo in list.Cast<Foo>()) 
    { 
     ... 
    } 
0

tvanfosson says으로는 Cast<T>에 가능하지만 당신이 InvalidCastException을 피하려는 경우는 제네릭 형식의 형식으로 변환 실패 목록에서 OfType<T> 확장 자동으로 이상 통과 할 방법 및 항목을 사용할 수 있습니다 매개 변수.