C#排除数组对象

时间:2011-07-19 12:12:43

标签: c# arrays

我的代码有点问题:

string[] sWords = {"Word 1", "Word2"}
foreach (string sWord in sWords)
{
  Console.WriteLine(sWord);
}

如果我想要打印每个对象,这可以正常工作。

我想知道我是否可以排除数组中的第一项? 所以它只会输出“Word 2”。我知道明显的解决方案不是包括第一项,但在这种情况下我不能。

4 个答案:

答案 0 :(得分:9)

使用LINQ to Objects,您只需使用Skip

foreach (string word in words.Skip(1))
{
    Console.WriteLine(word);
}

答案 1 :(得分:8)

在.Net 3.5及更高版本中使用LINQ:

string[] words = {"Word 1", "Word2"}
foreach (string word in words.Skip(1))
{  
    Console.WriteLine(word);
}

请注意,您必须在文件顶部添加using System.Linq;语句,因为Skip是一种扩展方法。

另一种选择是使用常规for循环:

for( int x = 1; x < words.Length; ++x )
    Console.WriteLine(words[x]);

强烈不鼓励在.Net中使用类似匈牙利语的前缀作为变量名。

答案 2 :(得分:7)

您可以改为使用for循环:

string[] sWords = {"Word 1", "Word2"};
var len = sWords.Length;

for (int i = 1; i < len; i++)
{
  Console.WriteLine(sWords[i]);
}

答案 3 :(得分:3)

你可以做到

string[] sWords = {"Word 1", "Word2"};

 for(int i=1; i<sWords.Length; i++) 
 {   
   Console.WriteLine(sWord[i]); 
 }