如何跳过整数数组中的单个数字

时间:2014-08-26 12:51:19

标签: c# arrays

这是我的代码我能够获得前五个整数,我可以跳过前三个整数 我需要从这个数组中跳过一个数字。   我怎么能用这段代码实现?

class Program
{
    static void Main(string[] args)
    {
        var ints = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        var result1 = ints.Take(5);
        var result2 = ints.Skip(3);
        Array.ForEach(result1.ToArray(), n => Console.WriteLine(n));
        Console.ReadLine();
        Array.ForEach(result2.ToArray(), n => Console.WriteLine(n));
        Console.ReadLine();
    }
}

澄清:我需要跳过整数[4],所以我只想要1,2,3,4,6,7,8,9,10。

3 个答案:

答案 0 :(得分:0)

您可以使用Enumerable.Where

如果您想跳过特定索引,可以使用Where的重载:

var result = ints.Where((i, index) => index != 4); 

如果你想要跳过数组中的所有3个:

var result = ints.Where(i => i != 3);

答案 1 :(得分:0)

您可以使用IEnumerable.Where方法过滤数组。

var ints = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var numberToOmit = 5;
var filteredList = ints.Where(number => number != numberToOmit).toList();
filteredList.forEach(item => Console.WriteLine(item));

答案 2 :(得分:0)

要添加到现有答案,这将允许您跳过数组中的特定位置。

 List<int> output = new List<int>();
 int skipIteration = 3;
 for (int x = 0; x < ints.Length; x++)
 {
      if (x != skipIteration)
      {
          output.Add(ints[x]);
      }
 }

ints = output.ToArray();

这是“快速”方式而不考虑性能/减少分配