首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c#中轻松获取用户在控制台或文件中的输入?

如何在c#中轻松获取用户在控制台或文件中的输入?
EN

Stack Overflow用户
提问于 2009-05-03 10:10:46
回答 3查看 943关注 0票数 1

我是一个C++用户,现在正在尝试使用c#。

在c++中,从用户获取输入很有趣(只有>>),并且支持所有类型。文件也是如此。但在c#中,它太复杂了,因为我只能接受字符串。然后我必须操纵它以供以后使用。

如果我想在同一行中接受多个由空格分隔的输入,就会变得更加复杂,因为我必须进行字符串拆分。然后转换..。

可能是为了错误处理和安全代码。但不管怎样,我对C#很失望。

你们都是这里的专家。有什么简单的方法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-05-03 10:34:13

据我所知,你必须用很难的方式来做。(不过从好的方面来看,困难的方法比在C++中简单;)

Console.OpenStandardInput()确实为您提供了输入流,因此可以像对待文件一样对待它,但是如果需要的话,您必须自己拆分字符串。当然,C#有一个很好的Regex库可能会对此有所帮助。

T.TryParse (其中T是整型、浮点型,您想读取的任何类型)应该允许您将字符串转换为这些类型。

票数 0
EN

Stack Overflow用户

发布于 2009-05-03 10:22:54

最终,包装它并不需要太多-您只需要缓冲当前行并以所需的格式读取输入即可。但IMO,一点split/TryParse等不会有什么坏处。

我不能100%确定>>接受的预期格式,但我怀疑做类似的事情会很困难。不过,我不是自愿写的;-p

票数 2
EN

Stack Overflow用户

发布于 2009-05-03 17:47:09

正如已经回答的,C#不支持这一点。当存在TextWriter.WriteLine(“",...)时,根本不会重载流的<<或>>。没有对应可变参数列表的TextReader.ReadLine()。

我将猜测原因: dat cin所理解的以空格分隔的数据格式不再经常使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/816726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档