从文本文件中读取数字并分隔空格

时间:2014-04-19 18:03:59

标签: c# arrays file integer

我有一个外部文本文件,里面有数字。像4 54 12 32由空格分隔。 我希望能够读取所有数字并将它们添加到列表中。

static void Main(string[] args)
        {
            List<int> numbers;
            numbers = new List<int>();

            StreamReader file = new StreamReader("C:\\text.txt");

            while (!file.EndOfStream)
            {
                string line = file.ReadLine();
                Console.Write(line + " ");
            }
        }

ReadLine读取整行,因此我无法将各个数字分开并将它们转换为整数并尝试读取读取每个数字的字符代码而不是数字本身。

4 个答案:

答案 0 :(得分:1)

尝试按空格拆分

string [] numbers = file.ReadLine().Split(new char[]{' '},
                                       StringSplitOptions.RemoveEmptyEntries);

答案 1 :(得分:0)

您正在寻找字符串对象(http://msdn.microsoft.com/fr-fr/library/System.String.Split%28v=vs.110%29.aspx)的拆分方法。

答案 2 :(得分:0)

这种方法可以帮到你。

    public static IEnumerable<int> ReadInts(string path)
    {
        var txt = File.ReadAllText(path);
        return Regex.Split(txt, @"\s+").Select(x => int.Parse(x));
    }

答案 3 :(得分:0)

您可以使用File.ReadAllText方法:

var numbers = File.ReadAllText("C:\\text.txt")
             .Split()
             .Where(x => x.All(char.IsDigit))
             .Select(int.Parse)
             .ToList();