用户输入的最小和最大数字

时间:2015-11-21 01:57:57

标签: c#

我发现此代码用于从用户输入中查找最小和最大数字。

using System;
    class FindMinAndMaximalNumber
    {
        static void Main()
        {
            string[] numbers;
            bool isInteger=true;
            int minimal=int.MaxValue;
            int maximal=int.MinValue;
            Console.Write("Enter a sequence of numbers delimited with \",\":");
            numbers = (Console.ReadLine()).Split(',');

               int[] intNumbers=new int[numbers.Length];
            for (int i = 0; i < (numbers.Length); i++)
            {
                isInteger = int.TryParse(numbers[i], out intNumbers[i]);
                if (isInteger==false)
                {
                    break;
                }
            }
            if (isInteger)
            {
                for (int i = 0; i < numbers.Length; i++)
                {
                    if (intNumbers[i] < minimal)
                    {
                        minimal = intNumbers[i];
                    }
                    if (intNumbers[i] > maximal)
                    {
                        maximal = intNumbers[i];
                    }
                }
                Console.WriteLine("minimal={0}",minimal);
                Console.WriteLine("maximal={0}",maximal);
            }
            else
            {
                Console.WriteLine("Not a valid entry! Some of the entries are not integer!");
            }
        }
    }

我的问题是:
 1 - 以下代码声明数组intNumbers的大小是否等于Array的大小#34; number&#34;

int[] intNumbers=new int[numbers.Length];

是或否?

2 - 检查此TryParse方法....

isInteger = int.TryParse(numbers[i], out intNumbers[i]);

如果IsInteger为真,那么它是否意味着...存储了i的值 intNumbers[i] ... ???? 或者任何人都可以解释这段代码

2 个答案:

答案 0 :(得分:0)

  1. 是。 datatype[] arrayName = new datatype[length];

  2. 方法int.TryParse()将数字的字符串表示形式转换为等效的32位有符号整数。返回值表示转换是否成功。在这种情况下,TryParse将检查数组的每个元素&#34;数字&#34;如果它是int数据类型,那么它会将值存储到其他数组。这样做是为了防止输入非数值。 因此,如果IsInteger为真,则表示您输入的所有值均为数字

答案 1 :(得分:0)

非常感谢SimpleVar 并且非常感谢MegaTron 您的帮助。 最后一点澄清 。这意味着以下代码“仅”声明名为“intNumbers”的新数组的大小

int [] intNumbers = new int [numbers.Length];

但 这些代码(以及for循环)

将这些项存储在这个新数组“intNumbers”中

isInteger = int.TryParse(numbers [i],out intNumbers [i]);

每次执行true和for循环

相关问题