查找数组的最大值和最小值将返回0
本文关键字:返回 最小值 数组 最大值 查找 | 更新日期: 2023-09-27 18:28:22
我应该创建一个数组并初始化它,然后我要编写两个辅助方法:一个用于查找数组的最大值,另一个用于最小值。但当我运行它时,两者都返回0。这是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ArraysMethodsFiles
{
class Program
{
static void Main(string[] args)
{
int thisMinValue = minValue(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
int thisMaxValue = maxValue(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
int theseValues = values(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
Console.WriteLine(theseValues);
Console.WriteLine(thisMinValue);
Console.WriteLine(thisMaxValue);
Console.ReadLine();
}
static int values(int[] arr)
{
int sum = 0;
arr = new int[10];
for (int i = 0; i <= arr.Length; i++)
{
sum += i;
}
return sum;
}
static int maxValue(int[] arr)
{
arr = new int[10];
int max = arr.Max();
return max;
}
static int minValue(int[] arr)
{
arr = new int[10];
int min = arr.Min();
return min;
}
}
}
您将在每个方法中用一个空数组替换传递给方法的数组
只需从每种方法中删除这一行:
arr = new int[10];
您在每个函数中创建一个大小为10的空数组,然后在此基础上预形成操作。相反,重写你的函数如下:
static int maxValue(int[] arr) => arr.Max();
static int minValue(int[] arr) => arr.Min();
但在这一点上,您所要做的只是调用另一个函数,所以您还不如放弃这些函数,只执行以下操作:
int thisMinValue = (new int[] { 1, 2, 3, /* ... */ 10 }).Min();