2014-04-19 95 views
0

我有一个外部文本文件,其中包含数字。如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读取整个行,所以我不能分开的单独号码,并将其转换为整数,我试图了解它读取每个数字的字符代码,而不是数字本身。

回答

1

尝试拆分空格

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

行这种方法可以帮助你。

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

您可以使用File.ReadAllText方法:

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