Многие новички задаются вопросом: Как удалить повторяющиеся элементы в массиве ? Самый оптимированный вариант без перебора массива! using (OpenFileDialog dialog = new OpenFileDialog())// создание нового OpenFileDialog { // Выбираем только текстовые ********* dialog.Filter = "Текстовые файлы|*.txt"; // отображение файлов с расширением .txt if (dialog.ShowDialog() == DialogResult.OK) // если выбираем файл и нажимаем кнопку ОК { string AllTextOfFile = File.ReadAllText(dialog.FileName); // Собираем все строки из файла string[] proxies = AllTextOfFile.Split('\n'); // разбиваем строки на массив string[] uniqueLines = proxies.Distinct().ToArray(); // удаляем дубли } Код using (OpenFileDialog dialog = new OpenFileDialog())// создание нового OpenFileDialog { // Выбираем только текстовые ********* dialog.Filter = "Текстовые файлы|*.txt"; // отображение файлов с расширением .txt if (dialog.ShowDialog() == DialogResult.OK) // если выбираем файл и нажимаем кнопку ОК { string AllTextOfFile = File.ReadAllText(dialog.FileName); // Собираем все строки из файла string[] proxies = AllTextOfFile.Split('\n'); // разбиваем строки на массив string[] uniqueLines = proxies.Distinct().ToArray(); // удаляем дубли } В итоге получаем массив uniqueLines, делаем с ним что хотим. А посчитать конечное число строк можно так: int CountFinishLines = uniqueLines.Length; Код int CountFinishLines = uniqueLines.Length; А при выводе не забываем использовать функцию Convert.ToString(CountFinishLines)