我应该创建一个数组并对其进行初始化,之后我会编写两个辅助方法:一个用于查找数组的最大值,另一个用于查找最小值。但是当我运行它时,都返回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;
}
}
}
答案 0 :(得分:2)
您正在使用每个方法中的空数组替换传递给method的数组 只需从每个方法中删除此行:
arr = new int[10];
答案 1 :(得分:1)
您在每个函数中创建一个大小为10的空数组,然后对其执行操作。相反,重写你的功能:
static int maxValue(int[] arr) => arr.Max();
static int minValue(int[] arr) => arr.Min();
但是在那一点上,你所做的所有功能都在调用另一个,所以你不妨放弃这些功能而只是这样做:
int thisMinValue = (new int[] { 1, 2, 3, /* ... */ 10 }).Min();