2010-11-27 41 views

回答

1

如果你的行不那麼複雜,你可以使用

string.Split

例子:

using (StreamReader sr = new StreamReader(file)) 
    { 
    string lineIn = string.Empty; 
    while ((lineIn = sr.ReadLine()) != null) 
    { 
     string[] numbersAsStrings = lineIn.Split(' '); 
    } 
    } 
+0

其實我所要做的只是 – Matt 2010-11-28 01:05:33

5

嘗試這樣:

using System; 
using System.Linq; 

class Program 
{ 
    static void Main() 
    { 
     var input = Console.ReadLine(); 

     var values = input.Split(' ') 
      .Select(int.Parse); 
    } 
} 

如果您擔心輸入號碼之間的多個空格,你可以做到這一點的用戶:

using System; 
using System.Linq; 

class Program 
{ 
    static void Main() 
    { 
     var input = Console.ReadLine(); 

     var values = input.Split(new[] {" "}, 
       StringSplitOptions.RemoveEmptyEntries) 
        .Select(int.Parse); 
    } 
} 

現在這兩個例子將炸燬當然如果用戶不提供值或者值是非數字值。這應該讓你開始在正確的道路上。

1

如果你期望整數之間的一個以上的空間,你可以做一個正則表達式分割:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Text.RegularExpressions; 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var str = Console.ReadLine(); 

      Regex regex = new Regex(@"\s+"); 
      var intArrary = regex.Split(str).Select(x => int.Parse(x)); 
     } 
    }