繁体   English   中英

检查内部的数组值是否循环

[英]Check array value inside for loop

我必须检查数组中的第二个值是否等于零 它正在我的第一个示例中工作,其中用户输入未循环。 但不适用于第二个示例,在该示例中循环了用户输入。

第一个例子

int[] array = new int[4];

array[0] = int.Parse(Console.ReadLine());
array[1] = int.Parse(Console.ReadLine());
 //This statement Works here 
if (array[1] == 0)
{
    Console.WriteLine("Alert!");
}
array[2] = int.Parse(Console.ReadLine());
array[3] = int.Parse(Console.ReadLine());

第二个例子

int[] array = new int[4];

for (int i = 0; i < array.Length; i = i + 1)
{ 
    //Input
    array[i] = int.Parse(Console.ReadLine());
 //This statement is not working 
if (array[1] == 0)
{
   Console.WriteLine("Alert!");
}

我认为您可能想这样做:

int[] array = new int[4];

for (int i = 0; i < array.Length; i = i + 1)
{ 
    //Input
    array[i] = int.Parse(Console.ReadLine());
    if (array[i] == 0) // use i instead of 1
    {
        Console.WriteLine("Alert!");
    }
 }

我只需要在循环编写此if语句。 现在可以了

int[] array = new int[4];

for (int i = 0; i < array.Length; i = i + 1)
{ 
    //Input
    array[i] = int.Parse(Console.ReadLine());
}

if (array[1] == 0)
{
   Console.WriteLine("Alert!");
}

为了确保从用户那里获得有效值,您可以使用int.TryParse()代替int.Parse()

        for (int i = 0; i < array.Length; i = i + 1)
        {
            while (!int.TryParse(Console.ReadLine(), out array[i]))
                Console.WriteLine("Input an integer value!");                    
        }

        if (array[1] == 0)
        {
            Console.WriteLine("Alert!");
        }

暂无
暂无

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

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