繁体   English   中英

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

[英]minimum and maximum numbers from user input

我找到了这个用于从用户输入中查找最小和最大数字的代码。

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 ,其大小等于名为“number”的数组的大小

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

是还是不是?

2 - 检查这个TryParse方法....

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

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

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

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

非常感谢 SimpleVar 和非常感谢 MegaTron 的帮助。 只是最后澄清。所以这意味着以下代码“仅”声明名为“intNumbers”的新数组的大小

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

但是这些项目通过此代码(以及 for 循环)存储在这个新数组“intNumbers”中

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

每次执行它的 true 和 for 循环时

暂无
暂无

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

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