2010-11-04 18 views
5

¿Hay alguna manera de leer varias entradas en la misma línea en C# como lo haría en C++?C++ a C#: cin a Console.Read

he incluido un ejemplo:

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

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

Esto es más una cuestión de conveniencia se opone a dividir ReadLine. –

Respuesta

5

String.Split es la solución obvia aquí:

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

continuación, utilizar la matriz resultante.

Pierdes tus nombres de variables "agradables" y tienes que convertir de string a int - pero tendrías que hacer eso de todos modos.

Se puede especificar un conjunto de caracteres de división:

string [] split = words.Split(new Char [] {' ', ',', '.', ':', '\t' }); 
+0

Creo que 'cin >> name >> age' es más flexible, divide la cadena no solo por espacio. – Andrey

2

Nop. Debe implementarlo usted mismo usando Console.Read o Console.ReadLine.

0

podría utilizar este C# std::cin class escrito por Svetlin Nakov que se comporta como std::cin en C++ y java.util.Scanner. Puede leer números, ints, dobles, decimales y tokens de cadena desde la consola, al igual que cin >> a >> b en C++.