获取IEnumerable LINQ的所有中间元素

enr*_*7mc 3 linq ienumerable

我有一个包含整数的数组Y,例如[1 3 2 0 9 8 2],我想选择除了第一个和最后一个[3,2,0,9,8,2]之外的所有元素,以便在进一步的操作中使用它们.这是我目前的做法:

Y.Where((i, x) => i != 0 && i != Y.Length - 1)
Run Code Online (Sandbox Code Playgroud)

还有更好的方法吗?

das*_*ght 5

既然你知道前面的长度,你可以使用SkipTake,像这样:

var res = Y.Skip(1).Take(Y.Length-2);
Run Code Online (Sandbox Code Playgroud)

当然你需要检查Y.Length至少2.