繁体   English   中英

如何将字符串数组(从文本文件中读取)更改为 Int 数组? 这样我就可以搜索和排序数据

[英]How do I change a String Array (being read from a text file) to a Int Array? So that I can search and sort the data

我正在阅读几个文本文件,我需要在其中搜索和排序数据,搜索和排序不是问题,因为我已经用一些以前的代码完成了这项工作。 但是,我似乎无法做的是让我的程序将文件中的字符串数组更改为 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

...在这种格式中,每个数字后面都有一个空格和一个换行符。 无法编辑文档本身。

如果文件每行包含一个数字,这应该有效:

            //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;
            }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM