跳过foreach循环中的多个值

时间:2016-06-24 18:46:29

标签: c# .net linq foreach skip

我有以下字符串数组,我在foreach循环

中得到它的字符串
string[] words = ...

foreach (String W in words.Skip(1))
{
      ...
}

我可以跳过第一个值但是如何跳过第一个值和最后一个值?

5 个答案:

答案 0 :(得分:11)

这是一个正确的阵列......

for (int i = 1; i < words.Length - 1; i++)
{
    string W = words[i];
    //...
}

答案 1 :(得分:6)

使用此

words.Skip(1).Take(words.Length-2)

它是-2所以你不计算你跳过的那个,加上你想要从最后跳过的那个

答案 2 :(得分:2)

试试这个

foreach (string w in words.Skip(1).Take(words.length-2))
{
    ...
}

可能最好在此之前进行一些测试,以确保有足够的词语!

答案 3 :(得分:1)

int count = 0;
string[] words = { };

foreach (string w in words)
{
      if(count == 0 || count == (words.Length - 1)){
      continue;
      }
      //Your code goes here
      count++;
}

如果你必须使用foreach循环,这应该适合你。

答案 4 :(得分:1)

您可以使用ArraySegment

var clipped = new ArraySegment<String>(words, 1, words.Length-2);

foreach (String W in clipped)
{
      ...
}