如何获取IEnumerable列表值?

时间:2014-03-12 13:17:51

标签: c# ienumerable

我有一个名为list的IEnumerable列表。它保留了这些样本值:

enter image description here

我希望随时访问并分配任何变量这些Count,Start和End值。我怎么能这样做?

4 个答案:

答案 0 :(得分:8)

IEnumerable本身没有CountStartEnd。它是元素,因此您需要识别要从中读取这些值的集合中的元素。例如,要读取第一个元素上的值:

var firstCount = list.First().Count;
var firstStart = list.First().Start;
var firstEnd = list.First().End;

或者,如果您想获得所有 Count值的集合,可以这样:

var allCounts = list.Select(c => c.Count);

您正在操作元素集合,而不是单个元素。因此,要从任何特定元素获取信息,首先需要从集合中识别它。并且lots of methods可以链接在一起以识别任何给定元素或元素集。

答案 1 :(得分:2)

使用loop

foreach(var item in list)
{
   var count = item.Count;
}

或者使用ToList并将其转换为List<T>,然后您可以使用索引访问您的值:

var myList = list.ToList();
var count = myList[0].Count;

此外,如果您知道类型,则可以将IEnumerable转换为IList<T>以使用索引器。

答案 2 :(得分:1)

可以使用命名空间

访问Linq列表
using System.Linq;

喜欢这样

var firstListElement = list.ElementAt(0);
var firstListElementCount = firstListElement.Count;
// do more stuff with my first element of the list

答案 3 :(得分:-1)

尝试:

list.Count()
list.First() or list.FirstOrDefault()
list.Last() or list.LastOrDefault()