Поиск самой длинной строки в списке - C#
Формулировка задачи:
Всем привет, захотел написать программу, которая по заданному текстовому файл будет находить саму длинную строку, выводить ее на экран, показывать ее длину и порядковый номер в списке. Адекватно показывает только длину, порядковый номер показывает меньше, саму строку и вовсе пропускает. Подскажите, в чем моя ошибка?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string imya;
Console.WriteLine("Введите имя файла с рабочего стола:");
imya = Convert.ToString(Console.ReadLine());
StreamReader reader = new StreamReader("C:\\Users\\Игорь\\Desktop" + imya + ".txt", Encoding.UTF8);
int kolvo = 0;
int nomerstr = 0;
int teknomerstr = 0;
string stroka = "piska";
do
{
int kolvo1 = reader.ReadLine().Length; //записываю в переменную длину строки
teknomerstr += 1; //записываю в переменную порядковый номер строки
if (kolvo1 > kolvo) //если новое значение максимальной длины строки больше предыдущего значения
{
stroka = Convert.ToString(reader.ReadLine()); //строка принимает значение длинной строки
kolvo = kolvo1; //предыдущее значение максимальной длины принимает значение нового значения
nomerstr = teknomerstr; //номер строки принимает значение номера строки, где была максимальная длина
}
}
while (!(reader.EndOfStream));
Console.WriteLine(stroka);
Console.WriteLine("Длина строки - " + kolvo + " символов");
Console.WriteLine("Порядковый номер строки в списке - " + nomerstr);
Console.WriteLine("Введи любую клавишу для закрытия приложения");
Console.ReadKey();
}
}
}Решение задачи: «Поиск самой длинной строки в списке»
textual
Листинг программы
int kolvo1 = reader.ReadLine().Length; //записываю в переменную длину строки
teknomerstr += 1; //записываю в переменную порядковый номер строки
if (kolvo1 > kolvo) //если новое значение максимальной длины строки больше предыдущего значения
{
stroka = Convert.ToString(reader.ReadLine()); //строка принимает значение длинной строки