C ++ цепочка ввода в C # - PullRequest
       27

C ++ цепочка ввода в C #

1 голос
/ 09 марта 2010

Я пытаюсь выучить C # из C ++. Я пишу только некоторые базовые консольные материалы, чтобы почувствовать это, и мне было интересно, возможно ли сделать простую цепочку входов в C #. Например, в C ++:

cout<<"Enter two numbers: ";
cin >> int1 >> int2;

Затем вы можете просто ввести 3 5 и нажать Enter, и значения будут в порядке. Однако в C # я должен разделить его (насколько я могу судить) следующим образом:

Console.Write("Enter the first number: ";
int1 = (char)Console.Read();
Console.Writeline("");
Console.Write("Enter the second number: ";
int2 = (char)Console.Read();

Может быть, я что-то упускаю.

Ответы [ 2 ]

2 голосов
/ 09 марта 2010

Вы можете прочитать всю строку с помощью Console.ReadLine и можете получить две переменные различными способами: split, базовый анализ теста или Regex


Короткий Ex

  Console.WriteLine("Enter two Numbers");
  int Num1 = 0 ,Num2 = 0 ;
  Match M = Regex.Match(Console.ReadLine(),@"(\d+) (\d+)");
  Num1 = int.Parse(M.Groups[1].Value);
  Num2 = int.Parse(M.Groups[2].Value);

  //Using Split 
  Console.WriteLine("Enter two Numbers");
  string[] Ints = (Console.ReadLine().Split(' '));
  Num1 = int.Parse(Ints[0]);
  Num2 = int.Parse(Ints[1]);
0 голосов
/ 09 марта 2010

Ничто не мешает работе цепочки ввода в C #, вы просто не получите красивый синтаксис операторов, потому что C # позволяет переопределять меньшее количество операторов.

Написание метода расширения, позволяющего вам:

Console.In.Read(out int1).Read(out int2);

оставлено в качестве упражнения для читателя.

...