C# 使用LINQ从对象列表中获取特定的对象集

C# 使用LINQ从对象列表中获取特定的对象集,c#,linq,c#-4.0,C#,Linq,C# 4.0,我有一个返回一组对象的代码。我想把一个特定的对象从那个集合中分离出来。我正试图用LINQ来做这件事。但我不明白 var registerAck = ((pointAck)((response.Item))).Items[0].Item; var poke = ((pointAck)((response.Item))).Items.Where(x => x.GetType() == typeof(poker)); 我的口袋里有一个System.Linq.Enumerable.WhereA

我有一个返回一组对象的代码。我想把一个特定的对象从那个集合中分离出来。我正试图用LINQ来做这件事。但我不明白

var registerAck = ((pointAck)((response.Item))).Items[0].Item;

var poke = ((pointAck)((response.Item))).Items.Where(x => x.GetType() == typeof(poker));
我的口袋里有一个System.Linq.Enumerable.WhereArrayIterator

我在这里做错了什么?

添加
.ToList()
将其转换为
System.Collections.Generic.List

添加
.ToList()
以将其转换为
System.Collections.Generic.List的类型


对不起。我忘了添加.ToList()。它起作用了

var poke = ((pointAck)((response.Item))).Items.Where(x => x.GetType() == typeof(poker)).ToList();

对不起。我忘了添加.ToList()。它起作用了

var poke = ((pointAck)((response.Item))).Items.Where(x => x.GetType() == typeof(poker)).ToList();
  • 添加
    .ToList
    可能是必需的,也可能不是必需的,因为这取决于您希望如何使用
    poke
    。 例如,如果只使用
    foreach
    对结果进行一次迭代,则
    .ToList
    是多余的,并且不必要的代码执行和分配
  • 简而言之,您的代码可能没有任何错误,这取决于您希望如何进一步使用
    poke

  • 在我们进行此项工作时,仅供参考,这里有一种替代方法,可以替代您使用
    Where
    方法进行的特定筛选。。签出类型的
  • 它将更加紧凑,可读性更强。
    Items.OfType()

  • 添加
    .ToList
    可能是必需的,也可能不是必需的,因为这取决于您希望如何使用
    poke
    。 例如,如果只使用
    foreach
    对结果进行一次迭代,则
    .ToList
    是多余的,并且不必要的代码执行和分配
  • 简而言之,您的代码可能没有任何错误,这取决于您希望如何进一步使用
    poke

  • 在我们进行此项工作时,仅供参考,这里有一种替代方法,可以替代您使用
    Where
    方法进行的特定筛选。。签出类型的
  • 它将更加紧凑,可读性更强。
    Items.OfType()

    谢谢。我也刚刚发现。谢谢。我也刚刚发现。