我已在文件中读取,将文件分为三列,并将每列中的所有数据放入3个数组中。我现在需要创建一个方法来从第二列数组中获取最大值。这是代码:
static void Main(string[] args)
{
string file1 = System.IO.File.ReadAllText(@"C:\file1.txt");
List<double> Array1 = new List<double>();
List<double> Array2 = new List<double>();
List<double> Array3 = new List<double>();
IEnumerable<string> lines = File.ReadLines(@"C:\File1.txt");
foreach (string line in lines)
{
string[] columns = line.Split(',');
if (columns.Length != 3)
{
continue; // skips this line
}
Array1.Add(Convert.ToDouble(columns[0]));
Array2.Add(Convert.ToDouble(columns[1]));
Array3.Add(Convert.ToDouble(columns[2]));
}
Console.WriteLine(Max(Array1.ToArray()));
}
static double Max (double[] x)
{
double maxValue = x.Max();
return maxValue;
}
错误:类型或命名空间定义,或预期的文件结束。
我需要修复Max方法,而且我不知道怎么说我们需要得到最大值的是数组2。然后我需要回到主要和使用最大方法来获得数组2的最大值。很明显,他们是Max函数中的初学者错误,但我已经研究了问题,我不确定如何继续。
答案 0 :(得分:0)
static double Max (double[] x)
{
double[] x // This line shouldn't be here
double maxValue = x.Max();
return maxValue;
}
您在参数和方法中重复声明double[] x
两次。这会搞砸。
此外,尽量不要让您的方法与API中的名称相同,只是为了使代码更易于阅读。
最后,你从未从main调用过该方法。 :P
答案 1 :(得分:0)
namespace Your_Name_Space
{
class Your_Program
{
public static void Main(string[] args)
{
string file1 = System.IO.File.ReadAllText(@"D:\file1.txt");
List<double> Array1 = new List<double>();
List<double> Array2 = new List<double>();
List<double> Array3 = new List<double>();
IEnumerable<string> lines = File.ReadLines(@"D:\File1.txt");
foreach (string line in lines)
{
string[] columns = line.Split(',');
if (columns.Length != 3)
{
continue; // skips this line
}
Array1.Add(Convert.ToDouble(columns[0]));
Array2.Add(Convert.ToDouble(columns[1]));
Array3.Add(Convert.ToDouble(columns[2]));
}
Console.WriteLine(Max(Array1.ToArray()));
Console.ReadKey();
}
public static double Max(double[] x)
{
double maxValue = x.Max();
return maxValue;
}
}
}
file1.text的内容如下:
1, 2, 3
4, 5, 6
7, 8, 9
所有代码都已运行。编译并执行上述代码时,会产生以下结果:
7
&#39;文件结尾预期&#39;错误的原因是大括号过剩。你应该控制你的牙套。价值7不是第二个。