Как получить максимальное значение этого текстового файла? (С#)
Я не уверен, что это подходящее место для подобных вопросов, но я попробую.
Моя домашняя работа состоит в том, чтобы написать код из двух основных частей: одна-создать текстовый файл с именами и числами, а другая-прочитать тот же текстовый файл и распечатать из него наибольшее число. Это та часть кода, которая создает текстовый файл (с которым я не вижу никаких проблем, он работает просто отлично), класс:
class Person { public string Name; public string Age; }
Главное-это:
Person a = new Person(); Person b = new Person(); Person c = new Person(); a.Name = "Abel"; a.Age = "20"; b.Name = "Bob"; b.Age = "22"; c.Name = "Cain"; c.Age = "25"; string[] People = { a.Name, a.Age, b.Name, b.Age, c.Name, c.Age }; using (StreamWriter write = new StreamWriter(@"C:\Users\A\Desktop\file check\test.txt")) { for (int i = 0; i < People.Length; i++) { write.WriteLine(People[i]); } }
Текстовый файл очень прост и выглядит примерно так:
Abel 20 Bob 22 Cain 25
Эта часть работает нормально. Та часть, с которой у меня возникли проблемы, - это та часть, где я должен прочитать файл и напечатать самое большое число, которое выглядит следующим образом:
string PeopleCheck = @"C:\Users\A\Desktop\file check\test.txt"; using (StreamReader read = new StreamReader(PeopleCheck)) { while (true) { string FindMax = read.ReadLine(); if (FindMax == null) { break; } int test; if(Int32.TryParse(FindMax, out test)) { // Console.WriteLine(FindMax); --> this will print all numbers, one number in each line int[] numbers = FindMax.Split(' ').Select(n => Convert.ToInt32(n)).ToArray(); Console.WriteLine("the highest number is {0}", numbers.Max()); } } } }
Я думал, что numbers.Max() выведет самое большое число, но результат выглядит так:
the highest number is 20 the highest number is 22 the highest number is 25 Press any key to continue . . .
Программа просматривает каждое число в массиве, анализирует каждое из них и выводит их как максимальное значение.
Если кто-нибудь может показать мне, как это исправить, так что печатается только максимальное значение массива, я буду очень благодарен ^^
Что я уже пробовал:
Я попытался поместить массив за пределы цикла, но тогда в массиве нет информации, поэтому я не знаю, как это исправить.
Я также попытался поместить новый массив Equals в массив 'numbers', но он должен быть в цикле, чтобы получить информацию, и выходные данные не меняются.