c# – 如何计算元素直到找到N个好元素?
发布时间:2020-12-16 01:49:30 所属栏目:百科 来源:网络整理
导读:我有一个集合. 我想从它预测只有前N个未被删除. 但是我想要计算多少元素(已删除和未删除) 我遍历了直到达到第N个未删除的元素. 我该怎么做? 我想用副作用: int i;collectiom.Skip(Convert.ToInt32(startIndex)) .TakeWhile( x= {++i != 0; return (!x.IsDe
我有一个集合.
我想从它预测只有前N个未被删除. 但是我想要计算多少元素(已删除和未删除) 我该怎么做? int i; collectiom.Skip(Convert.ToInt32(startIndex)) .TakeWhile( x=> { ++i != 0; return (!x.IsDeleted) }) .Take(N); 但是编译器拒绝了. TIA 解决方法
这个怎么样:
var selected = collection.Select((x,i) => new {Item = x,Index = i}) .Skip(Convert.ToInt32(startIndex)) .Where(x => !x.Item.IsDeleted) .Take(N); 结果是N个匿名对象的序列,其中x.Item是原始对象,x.Index是原始集合中的索引.如果要从startIndex开始计算原始集合,只需交换Select和Skip调用. 然后,您可以获得所需的数字: var numberProcessed = selected.Last().Index + 1; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |