C# LinkedList没有ConvertAll<;T>;?

C# LinkedList没有ConvertAll<;T>;?,c#,.net,vb.net,linked-list,converter,C#,.net,Vb.net,Linked List,Converter,是否有人拥有使用转换器快速转换链接列表中的类型的扩展方法 我有点惊讶,ConvertAll(delegate)在哪里?Linq扩展方法中的ConvertAll等价物被称为Select var result = myLinkedList.Select(x => FancyCalculationWith(x)) Linq扩展方法中的ConvertAll等价物称为Select var result = myLinkedList.Select(x => FancyCalculationWi

是否有人拥有使用
转换器快速转换
链接列表中的类型的扩展方法


我有点惊讶,
ConvertAll(delegate)
在哪里?

Linq扩展方法中的
ConvertAll
等价物被称为
Select

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

Linq扩展方法中的
ConvertAll
等价物称为
Select

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

取决于您想从中得到什么,但是您可以使用Cast然后枚举得到的IEnumerable

  public class Foo
  {
    ...
  }

  public class Bar : Foo
  {
    ...
  }

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

  foreach (var foo in list.Cast<Foo>())
  {
      ...
  }
公共类Foo
{
...
}
公共类酒吧:富
{
...
}
var list=newlinkedlist();
.... 名单。。。。
foreach(list.Cast()中的var foo)
{
...
}

取决于您想从中获得什么,但您可以使用Cast然后枚举生成的IEnumerable

  public class Foo
  {
    ...
  }

  public class Bar : Foo
  {
    ...
  }

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

  foreach (var foo in list.Cast<Foo>())
  {
      ...
  }
公共类Foo
{
...
}
公共类酒吧:富
{
...
}
var list=newlinkedlist();
.... 名单。。。。
foreach(list.Cast()中的var foo)
{
...
}

因为可以
强制转换
,但是如果您想避免出现
InvalidCastException
,您可以使用扩展方法,该方法将自动传递列表中未能转换为您提供的泛型类型参数类型的项

因为可以
强制转换
,但是如果要避免出现
InvalidCastException
,则可以使用扩展方法,该方法将自动传递列表中未能转换为您提供的泛型类型参数类型的项

当然,假设LinkedList实现了IEnumerable。我不熟悉LinkedList(区别在于List.ConvertAll当然能够预分配大小合适的缓冲区,因为它知道现有大小。)当然,假设LinkedList实现了IEnumerable。我不熟悉LinkedList(区别在于List.ConvertAll当然能够预先分配大小合适的缓冲区,因为它知道现有的大小。)