[英]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]
...???? 或者任何人都可以简单地解释一下这段代码
是的。 datatype[] arrayName = new datatype[length];
方法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.