我正在读取几个文本文件,我需要在其中搜索数据并对数据进行排序,因为我已经使用一些先前的代码完成了搜索和排序,所以这不是问题。但是,我似乎无法做的是让程序将文件中的字符串数组更改为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
...以这种格式显示,每个数字后都有一个空格和一个换行符。 该文档本身无法编辑。
答案 0 :(得分:0)
如果文件的每一行都包含一个数字,这应该可以工作:
//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;
}