private IEnumerable<string> Tables { get { yield return "Foo"; yield return "Bar"; } }
假设我要迭代这些并编写类似#m的#n处理。
有没有一种方法可以在我的主迭代之前不进行迭代就找出m的值?
我希望我能说清楚。
IEnumerable不支持这一点。这是设计使然。IEnumerable使用惰性评估来获取您需要的元素,然后再使用它们。
IEnumerable
如果您想在不迭代的情况下知道项目的数量,可以使用ICollection<T>,它具有一个Count属性。
ICollection<T>
Count