누구나 을 사용하여 LinkedList<T>
의 유형을 신속하게 변환 할 수있는 확장 방법이 있습니까?링크드 목록에 대한 변환이 없습니다. <T>?
조금 놀랍습니다. ConvertAll<TOutput>(delegate)
은 어디에 있나요?
누구나 을 사용하여 LinkedList<T>
의 유형을 신속하게 변환 할 수있는 확장 방법이 있습니까?링크드 목록에 대한 변환이 없습니다. <T>?
조금 놀랍습니다. ConvertAll<TOutput>(delegate)
은 어디에 있나요?
Linq의 확장 방법에 해당하는 ConvertAll
은 Select
!
var result = myLinkedList.Select(x => FancyCalculationWith(x))
원하는 항목에 따라 다르지만 캐스트를 사용하여 결과 IEnumerable을 열거 할 수 있습니다.
public class Foo
{
...
}
public class Bar : Foo
{
...
}
var list = new LinkedList<Bar>();
.... make list....
foreach (var foo in list.Cast<Foo>())
{
...
}
는 tvanfosson says으로는 Cast<T>
에 가능하지만 당신이 InvalidCastException
을 피하려는 경우는 제네릭 형식의 형식으로 변환 실패 목록에서 OfType<T>
확장 자동으로 이상 통과 할 방법 및 항목을 사용할 수 있습니다 매개 변수.
+1 == "map"(상위 함수) 선택 –
물론 LinkedList 은 IEnumerable을 구현한다고 가정합니다. LinkedList에 익숙하지 않다 –
(기존 크기를 알고 있으므로 List.ConvertAll이 올바른 크기의 버퍼를 미리 할당 할 수 있다는 점이 다릅니다.) –