简体   繁体   English

我如何 select 数组中的多个值?

[英]How do I select multiple values in an array?

int[] numbers = new int[] 
{ 
    1, 2, 33, 44, 55, 68, 77, 96, 100 
};

if (numbers[] % 2 == 0)
{
    Console.WriteLine("EVEN");
}

I want to make the code say even when the value in the array is an even number.我想让代码说即使数组中的值是偶数。 How could I do this?我怎么能这样做?

Your question is vague one:你的问题很模糊

...the code say even when the value in the array is an even number ...代码说即使数组中的值是偶数

You may want to query numbers (with a help of Linq ):您可能想要查询numbers (在Linq的帮助下):

If array contains at least one even value:如果数组包含至少一个偶数:

 using System.Linq;

 ...

 if (numbers.Any(item => item % 2 == 0))
   Console.WriteLine("EVEN");

If array values are all even:如果数组值都是偶数:

 if (numbers.All(item => item % 2 == 0))
   Console.WriteLine("EVEN");

Obtain even values (let's have an int[] even array):获得even (让我们有一个int[] even数组):

 int[] even = numbers
   .Where(item => item % 2 == 0)
   .ToArray();

 if (even.Length > 0) 
   Console.WriteLine($"EVEN: {string.Join(", ", even)}");  

Finally, you may want to scan the numbers array and do something on each even item:最后,您可能想要扫描numbers数组并对每个偶数项执行一些操作:

  foreach (int item in numbers) {
    if (item % 2 == 0) {
      Console.WriteLine("EVEN:");  
    } 
  }

You need loop你需要循环

for (int i = 0; i < numbers.Length; i++)
{
  if (numbers[i] % 2 == 0)
  {
    Console.WriteLine("EVEN");
  }
}

I would do it:我会做:

var evenNumbers = numbers.Where(x => x % 2 == 0).ToArray();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM