2014-12-21 86 views
-5

INPUT如何閱讀在C#

67 89兩個數字(單行)

我必須輸入從控制檯的兩個數字,並將其存儲在變量兩種不同的整數。 這樣做。

+3

閱讀第一個數字,然後閱讀第二個數字。 – dasblinkenlight

回答

2
var result = Console.ReadLine().Split(new [] { ' '}); 

沿着這些線條的東西,我的頭頂。

Console.ReadLine()和使用Linq文檔String.Split()

,那麼你可以伸進一個int數組:

var result = Console.ReadLine() 
        .Split(new[] { ' ' }) //Explicit separator char(s) 
        .Select(i => int.Parse(i)) 
        .ToArray(); 

甚至有點更簡潔:

var result = Console.ReadLine() 
        .Split() //Assuming whitespace as separator 
        .Select(i => int.Parse(i)) 
        .ToArray(); 

結果現在是一個整數。

+0

除了在我的回答下面我們交換意見,請注意即使Split()不接受null或零參數,也不需要創建一個字符數組。由於params關鍵字,編譯器會爲你處理這個問題。所以,你只需要寫'.Split('')'或者說是否有2個分隔符'.Split('','@')'。請參見http://msdn.microsoft.com/en-gb/library/w5zay9db.aspx –

3

這將從控制檯讀取一行,拆分字符串,將組件解析爲整數,並將其輸出爲列表。然後您可以根據需要從列表中取出每件物品。改進

var integers = Console.ReadLine().Split().Select(s => int.Parse(s)).ToArray(); 
int first = integers[0]; 
int second = integers[1]; 

地區:

Console.ReadLine().Split().Select(s => int.Parse(s)).ToList() 

如果總是會有兩個數字,你可以如下做到這一點

  • 你可能想使用TryParse代替Parse和輸出一個友好的錯誤消息,如果輸入不解析

  • 如果您需要確切地2號(無多,不會少),你可能會想,如果<> 2

+0

'Split()'[沒有接受任何參數的重載](http://msdn.microsoft.com/en-us/庫/ system.string.split(v = vs.110)的.aspx)。 **編輯**:但這似乎工作正常。今天學到了一些新東西:P – RobIII

+0

@Robll它在LinqPad中工作...... MSDN:「如果分隔符參數爲空或不包含任何字符,則認爲空格字符是分隔符。」分離者是一個參數論證。 –

+1

是的,從來沒有意識到它可以用這個簡單的:P – RobIII

3
using System; 
public class Program 
{ 
    static void Main(string[] args) 
    { 
     var numbers = Console.ReadLine(); 
     var numberList = numbers.Split(' '); 
     var number1 = Convert.ToInt32(numberList[0]); 
     var number2 = Convert.ToInt32(numberList[1]); 
     Console.WriteLine(number1 + number2); 
     Console.ReadKey(); 
    } 
} 

如果從其他程序執行檢查的integers和輸出長度的友好錯誤信息你需要從參數中讀取