Pergunta

Eu sou um C ++ usuário e agora tentando usar c #.

Em c ++ levando a entrada do usuário foi divertido (apenas >>) e apoiado todos os tipos. Então foi para os arquivos. Mas, em c # é muito complexo, como eu pode ter apenas cordas. Então eu tenho que manipulá-lo para uso posterior.

E se eu quiser tirar várias entradas na mesma linha separados por espaços em branco, que se tornam mais complexas, como eu tenho que ir para dividir string. Em seguida, a conversão ...

Pode ser que é para o tratamento de erros e código de segurança. Mas estou desapontado com C # qualquer maneira.

Você é todos os caras experientes aqui. Existe alguma maneira fácil?

Foi útil?

Solução

Tanto quanto eu estou ciente, você tem que fazê-lo da maneira mais difícil. (Do lado da brilhante, porém, da maneira mais difícil é mais simples do que seria em C ++;))

Console.OpenStandardInput () lhe dá o fluxo de entrada, para que possa ser tratado da mesma forma como arquivos, mas você vai ter que fazer a divisão corda si mesmo se você precisa disso. Claro, C # tem uma boa biblioteca Regex que podem ajudar aqui.

T.TryParse (onde T é int, float, Independentemente do tipo que você deseja ler) deve deixá-lo converter a cadeia para esses tipos.

Outras dicas

Em última análise, não seria preciso muito para envolvê-la - você só precisa para tamponar a linha atual e ler as entradas em seu formato desejado. Mas IMO, um pouco dividida / TryParse etc raramente dói.

Eu não estou 100% de certeza dos formatos esperados que >> aceita, mas eu duvido que seria difícil fazer algo semelhante. Eu não estou oferecendo-se para escrevê-lo, embora ;-p

Como já respondeu, C # não suporta isso. Sem sobrecarga de << ou >> para fluxos em tudo e enquanto houver um TextWriter.WriteLine ("", ...) não há TextReader.ReadLine correspondente () com lista de parâmetros variável.

Eu vou dar um palpite em Por : o formato de dados spepareted espaço em branco dat cin entende simplesmente não é usado muito mais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top