我正在尝试从包含数字字符串的文本文件中读取数据,我希望能够将文件中的每一行转换为Int并将其存储在数组中,以便以后可以进行数学运算
这是我在Visual Studio中尝试过的方法,它给出了一条消息“ System.FormatException:'输入字符串的格式不正确。'”。
static void Main(string[] args)
{
using (StreamReader List1 = new StreamReader("path of text file.txt"))
{
string input;
List<string> High256 = new List<string>();
while((input = List1.ReadLine()) != null)
{
Convert.ToInt32(input);
}
High256.Add(input);
Console.WriteLine(High256);
}
}
答案 0 :(得分:1)
您需要先检查是否可以转换为int。
static void Main(string[] args)
{
var List1 = new File.ReadAllLines("path of text file.txt");
string input;
List<string> High256 = new List<string>();
foreach(var item in List1)
{
if(int.TryParse(item?.Trim(), out var tempInt))
{
High256.Add(tempInt);
Console.WriteLine(High256);
}
}
}
或一行:
var list = File.ReadAllLines("path")
.Where(x => int.TryParse(x, out var temp))
.Select(t=>int.Parse(t.Trim())).ToList();
答案 1 :(得分:0)
您可以使用Linq并执行下一步:
int[] array = File.ReadAllLines("path").Select(t=>Convert.ToInt32(t)).ToArray();
这将从文件中读取所有行并将每行转换为int32类型,最后您将获得int数组!