Как мне изменить String Array (читаемый из текстового файла) на Int Array? Так что я могу искать и сортировать данные - PullRequest
0 голосов
/ 13 апреля 2019

Я читаю несколько текстовых файлов, в которых мне нужно искать и сортировать данные, поиск и сортировка не проблема, поскольку я сделал это с некоторым предыдущим кодом.Однако я не могу заставить свою программу изменить массив строк, сделанный из файла, на массив int.Любая помощь будет принята с благодарностью.

Я пробовал tryparse, bool, decimal, int, int32 и т. Д. Я относительно новичок в c #, поэтому, пожалуйста, не выдавайте их за определенную победу. 'не работает, так как они, скорее всего, будут ... Просто я не понял, как ...

//Reads Files
            string Low256 = "Low_256.txt";
            string[] LowString256 = File.ReadAllLines(Low256);
            string High256 = "High_256.txt";
            string[] HighString256 = File.ReadAllLines(High256);
            string Mean256 = "Mean_256.txt";
            string[] MeanString256 = File.ReadAllLines(Mean256);

//Removes Spaces from the txt file
            int i = 0;
            int[] LowArray256 = new int[256];
            foreach (string line in LowString256)
                if (line != " ")
                {
                    LowString256[256] = line;
                    i++;
                }
            int[] HighArray256 = new int[256];
            foreach (string line in LowString256)
                if (line != " ")
                {
                    LowString256[256] = line;
                    i++;
                }
            int[] MeanArray256 = new int[256];
            foreach (string line in LowString256)
                if (line != " ")
                {
                    LowString256[256] = line;
                    i++;
                }

//Converts Strings Arrays To Int 
            LowArray256 = Array.ConvertAll(LowString256, Int32.Parse);
            HighArray256 = Array.ConvertAll(HighString256, Int32.Parse);
            MeanArray256 = Array.ConvertAll(MeanString256, Int32.Parse);

Получена ошибка System.FormatException: 'Входная строка была в неправильном формате.'

ожидаемый результат - возможность использовать массив int для поиска и сортировки данных.

РЕДАКТИРОВАТЬ

Файлы состоят из данныхтакие как ...

16,8614

15,3207

18,3596

17,1516

15,5238

18,4468

19.2638

17.0751

... в этом формате с пробелом и символом новой строки после каждого числа.Сам документ не может быть отредактирован.

1 Ответ

0 голосов
/ 13 апреля 2019

Это должно работать, если файлы содержат номера в каждой строке:

            //Read files
            string Low256 = "Low_256.txt";
            string[] LowString256 = File.ReadAllLines(Low256);
            string High256 = "High_256.txt";
            string[] HighString256 = File.ReadAllLines(High256);
            string Mean256 = "Mean_256.txt";
            string[] MeanString256 = File.ReadAllLines(Mean256);

            //Convert string[] to int[]
            int[] Low256Int = new int[LowString256.Length];
            for (int i = 0; i < LowString256.Length; i++)
            {
                int.TryParse(LowString256[i], out int parsed);
                Low256Int[i] = parsed;
            }

            int[] Mean256Int = new int[MeanString256.Length];
            for (int i = 0; i < MeanString256.Length; i++)
            {
                int.TryParse(MeanString256[i], out int parsed);
                Mean256Int[i] = parsed;
            }

            int[] High256Int = new int[HighString256.Length];
            for (int i = 0; i < HighString256.Length; i++)
            {
                int.TryParse(HighString256[i], out int parsed);
                High256Int[i] = parsed;
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...