如何获取IEnumerable列表值?

1te*_*sah 3 c# ienumerable

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

在此输入图像描述

我希望随时访问并为任何变量分配这些Count,Start和End值.我怎样才能做到这一点?

Dav*_*vid 8

在IEnumerable本身不具备Count,Start或End.它是元素,因此您需要识别集合中要从中读取这些值的元素.例如,要读取第一个元素的值:

var firstCount = list.First().Count;
var firstStart = list.First().Start;
var firstEnd = list.First().End;
Run Code Online (Sandbox Code Playgroud)

或者,如果您想获得所有Count值的集合,请执行以下操作:

var allCounts = list.Select(c => c.Count);
Run Code Online (Sandbox Code Playgroud)

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


Sel*_*enç 5

用一个loop?

foreach(var item in list)
{
   var count = item.Count;
}
Run Code Online (Sandbox Code Playgroud)

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

var myList = list.ToList();
var count = myList[0].Count;
Run Code Online (Sandbox Code Playgroud)

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