如何将字符串从文本文件转换为Int

时间:2019-04-03 10:03:45

标签: c#

我正在尝试从包含数字字符串的文本文件中读取数据,我希望能够将文件中的每一行转换为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);
    }
}

2 个答案:

答案 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数组!