返回两个数字的较大值的方法
本文关键字:方法 数字 两个 返回 | 更新日期: 2023-09-27 18:33:14
所以我有这个代码
static void Main(string[] args)
{
Console.Write("First Number = ");
int first = int.Parse(Console.ReadLine());
Console.Write("Second Number = ");
int second = int.Parse(Console.ReadLine());
Console.WriteLine("Greatest of two: " + GetMax(first, second));
}
public static int GetMax(int first, int second)
{
if (first > second)
{
return first;
}
else if (first < second)
{
return second;
}
else
{
// ??????
}
}
有没有办法让 GetMax 在第一个 == 第二个时返回带有错误消息或其他内容的字符串。
您可以使用内置的Math.Max
方法
static void Main(string[] args)
{
Console.Write("First Number = ");
int first = int.Parse(Console.ReadLine());
Console.Write("Second Number = ");
int second = int.Parse(Console.ReadLine());
Console.WriteLine("Greatest of two: " + GetMax(first, second));
}
public static int GetMax(int first, int second)
{
if (first > second)
{
return first;
}
else if (first < second)
{
return second;
}
else
{
throw new Exception("Oh no! Don't do that! Don't do that!!!");
}
}
但实际上我会简单地做:
public static int GetMax(int first, int second)
{
return first > second ? first : second;
}
由于您返回的数字更大,因为两者相同,因此您可以返回任何数字
public static int GetMax(int first, int second)
{
if (first > second)
{
return first;
}
else if (first < second)
{
return second;
}
else
{
return second;
}
}
您可以进一步简化为
public static int GetMax(int first, int second)
{
return first >second ? first : second; // It will take care of all the 3 scenarios
}
如果可能的话,使用 List 类型,我们可以利用内置的方法 Max() 和 Min() 来识别大量值中的最大和最小数字。
List<int> numbers = new List<int>();
numbers.Add(10);
numbers.Add(30);
numbers.Add(30);
..
int maxItem = numbers.Max();
int minItem = numbers.Min();
static void Main(string[] args)
{
Console.Write("First Number: ");
int number1 = int.Parse(Console.ReadLine());
Console.Write("Second Number: ");
int number2 = int.Parse(Console.ReadLine());
var max = (number1 > number2) ? number1 : number2;
Console.WriteLine("Greatest Number: " + max);
}