От C ++ до C #: от cin до Console.Read - PullRequest
5 голосов
/ 05 ноября 2010

Есть ли способ прочитать несколько входов в одной строке в C #, как я бы в C ++?

Я включил пример:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
  cout << "Format: name age"<< endl;
  int age;
  string name;
  cin >> name >> age;
  return 0;
}

Ответы [ 3 ]

5 голосов
/ 05 ноября 2010

String.Split является очевидным решением здесь:

string input = Console.ReadLine();
string [] split = input.Split(` `);

Затем используйте результирующий массив.

Вы теряете свои «хорошие» имена переменных и должны конвертировать из string в int - но вам все равно придется это делать.

Вы можете указать набор разделенных символов:

string [] split = words.Split(new Char [] {' ', ',', '.', ':', '\t' });
2 голосов
/ 05 ноября 2010

Неа. Вы должны реализовать это самостоятельно, используя Console.Read или Console.ReadLine.

0 голосов
/ 23 ноября 2011

Вы можете использовать этот C # std::cin класс , написанный Светлин Наков , который ведет себя как std::cin в C ++ и java.util.Scanner.Он может читать числа, целые, двойные, десятичные и строковые токены из консоли, точно так же, как cin >> a >> b в C ++.

...