TheCeleryK Ответов: 1

Как преобразовать файл .txt с числами в массив, который затем можно отсортировать в C# с помощью сортировки кучи?


Я довольно новичок в C# и не могу понять, как импортировать файл .txt в виде массива в мой код, чтобы затем его можно было отсортировать.
Файл .txt выглядит следующим образом:
234
2364
3
33433
...
Если бы кто-нибудь мог помочь объяснить, как я буду это делать, это было бы здорово, спасибо.

Что я уже пробовал:

Я попытался преобразовать его с помощью,
Convert.ToInt32
но я считаю, что сам мой код также имеет фундаментальные недостатки.
мой код:
public static void Main(string[] args)
        {
            string userInput;
            Console.WriteLine("Which Array do you want to sort?");
            Console.WriteLine("1. Net_1\n2. Net_2\n3. Net_3");
            userInput = Console.ReadLine();
            if (userInput == "1")
            {
                string[] text = File.ReadAllLines(@"Net_1\\Net_1.txt");
                int i = Convert.ToInt32(text);
                {
                    Console.WriteLine(text);
                }
            }
        }

1 Ответов

Рейтинг:
10

OriginalGriff

Создайте коллекцию целых чисел:

List<int> values = new List<int>(text.Length);
Затем используйте цикл для обработки каждой строки из файла по очереди:
string[] text = File.ReadAllLines("Net_1\\Net_1.txt");
int i = 0;
foreach (string line in text)
    {
    int value;
    if (int.TryParse(line, out value))
        {
        values.Add(value);
        }
    }
После цикла вы можете использовать сортировку кучи, чтобы упорядочить значения по своему усмотрению.

Обратите внимание, что я удалил "@" перед строкой пути к файлу: он отключает обработку экранирования строк, поэтому ваша версия вставила бы две обратные косые черты в путь к файлу.