gpt4 book ai didi

c# - 使用 Skip 和 Take 拾取数组中的替代项

转载 作者:太空狗 更新时间:2023-10-29 22:23:58 26 4
gpt4 key购买 nike

我有一个包含以下项目的字符串数组:

string s = "M,k,m,S,3,a,5,E,2,Q,7,E,8,J,4,Y,1,m,8,N,3,P,5,H";
var items = s.split(',');
var topThree = items.Take(3);
var alternating1 = items.Skip(3).Take(1).Skip(1).Take(1).Skip(1).Take(1).Skip(1).Take(1);

alternating1 变量中没有任何内容,我想我明白为什么了。在 Skip 然后 Take 之后,它会返回其中的 1 个项目,因此它会尝试 Skip(1) 和 Take(1),但那里什么也没有。

有什么方法可以实现这种交替模式吗?

最佳答案

最简单的方法是使用带索引的Where 重载:

var alternating = input.Where((value, index) => (index & 1) == 0);

或者使用 % 2 代替,等价地:

var alternating = input.Where((value, index) => (index % 2) == 0);

关于c# - 使用 Skip 和 Take 拾取数组中的替代项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com