12

コンソールからスペース( )で区切られた1 行nで指定された数値を読み取るタスクがあります。

別々の行にあるすべての数字を読むときのやり方は知っていますが( )、数字が同じ行Console.ReadLine()にあるときのやり方については助けが必要です。

4

7 に答える 7

22

使用できますString.Split。文字列を複数に分割するために使用する文字を指定できます。何も指定しない場合、すべての空白は分割文字 (改行、タブなど) と見なされます。

string[] tokens = line.Split(); // all spaces, tab- and newline characters are used

または、区切り文字としてスペースのみを使用する場合:

string[] tokens = line.Split(' ');

それらを解析したい場合は、int次を使用できますArray.ConvertAll()

int[] numbers = Array.ConvertAll(tokens, int.Parse); // fails if the format is invalid

フォーマットが有効かどうかを確認したい場合は、 を使用しますint.TryParse

于 2015-01-21T14:52:53.107 に答える
8

次を使用して行を分割できますString.Split()

var line = Console.ReadLine();
var numbers = line.Split(' ');
foreach(var number in numbers)
{
    int num;
    if (Int32.TryParse(number, out num))
    {
        // num is your number as integer
    }
}
于 2015-01-21T14:52:36.023 に答える
3

入力したデータを分割するだけです。

string numbersLine = console.ReadLine();

string[] numbers = numbersLine.Split(new char[] { ' '});

// Convert to int or whatever and use
于 2015-01-21T14:53:27.783 に答える