检查for循环中的数组值

时间:2016-12-11 12:43:05

标签: c# arrays 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!");
}

3 个答案:

答案 0 :(得分:1)

我想你可能想这样做:

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!");
    }
 }

答案 1 :(得分:0)

我只需编写if 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!");
}

答案 2 :(得分:0)

确保使用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!");
        }