从c#中的控制台输入多行

2023-11-23

我正在尝试从控制台读取 c# 中的一些值,然后处理它们。但是我陷入了错误。

控制台的输入是:

Name:ABCD
School:Xyz
Marks:80
 //here the user enters a new line before entering new data again
Name:AB
School:Xyz
Marks:90
//new line again 
Name:AB
School:Xyz
Marks:90

等等。我事先不知道控制台输入的数量...我如何检测用户已停止输入并存储输入。

我尝试使用

string line;
while((line=Console.ReadLine())!=null)
{
  //but here it seems to be an infinite loop 
}

有什么建议


您的代码查找“控制台输入结束”,即“Ctrl+Z”,如控制台.ReadLine:

如果在该方法从控制台读取输入时按下 Ctrl+Z 字符,则该方法将返回 null。这使得用户能够在循环调用 ReadLine 方法时阻止进一步的键盘输入。以下示例说明了这种情况。

如果您正在寻找空字符串作为完成使用String.IsNullOrWhiteSpace.

string line;
while(!String.IsNullOrWhiteSpace(line=Console.ReadLine()))
{
  //but here it seems to be an infinite loop 
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从c#中的控制台输入多行 的相关文章

  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • 捕获 .aspx 和 .ascx 页面中的异常

    问题说明了一切 请看以下示例代码 ul li li ul
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • 2个对象,完全相同(除了命名空间)c#

    我正在使用第三方的一组网络服务 但遇到了一个小障碍 在我手动创建将每个属性从源复制到目标的方法之前 我想我应该在这里寻求更好的解决方案 我有 2 个对象 一个是 Customer CustomerParty 类型 另一个是 Appointm
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • 保证复制省略是否适用于函数参数?

    如果我理解正确的话 从 C 17 开始 这段代码现在要求不进行任何复制 Foo myfunc void return Foo auto foo myfunc no copy 函数参数也是如此吗 下面的代码中的副本会被优化掉吗 Foo myf
  • 条件类型定义

    如果我有一小段这样的代码 template
  • wordexp 失败时我们需要调用 wordfree 吗?

    wordexp 失败时我们需要调用 wordfree 吗 在某些情况下 调用 wordfree 似乎会出现段错误 例如 当 wordfree 返回字符串为 foo bar 的错误代码时 这在手册页中并不清楚 我已经看到在某些错误情况下使用了
  • 如何防止 Blazor NavLink 组件的默认导航

    从 Blazor 3 1 Preview 2 开始 应该可以防止默认导航行为 https devblogs microsoft com aspnet asp net core updates in net core 3 1 preview
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • Unity c# 四元数:将 y 轴与 z 轴交换

    我需要旋转一个对象以相对于现实世界进行精确旋转 因此调用Input gyro attitude返回表示设备位置的四元数 另一方面 这迫使我根据这个四元数作为默认旋转来计算每个旋转 将某些对象设置为朝上的简单方法如下 Vector3 up I
  • 如何从 Boost.PropertyTree 复制子树

    我有一些boost property tree ptree 我需要树来删除一些具有特定标签名称的元素 例如 xml 表示源ptree如下
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • Unity3D - 将 UI 对象移动到屏幕中心,同时保持其父子关系

    我有一个 UI 图像 它的父级是 RectTransform 容器 该容器的父级是 UI 面板 而 UI 面板的父级是 Canvas 我希望能够将此 UI 图像移动到屏幕中心 即画布 同时保留父级层次结构 我的目标是将 UI 图像从中心动画
  • 调用 .ToArray() 时出现 ArgumentException

    我有一个经常被清除的列表 代码完全是这样的 VisitorAgent toPersist List
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • Streamwriter 覆盖 txt 文件中的文本

    有没有什么方法可以重新打开流写入器而不创建新的写入对象 因为此时 当调用 WriteOdd 时 streamwriter 正在覆盖在它之前调用的 WriteEven public void WriteEven StreamWriter wr
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助

随机推荐

  • 如何使用 ng-click 进行重定向

    我正在尝试构建超级简单的 AngularJS 应用程序 将凭据接受到两个文本框中 然后使用双向绑定将按钮单击重定向到其中包含两个变量的 url 我的问题是 我可以让它工作一个简单的 a href 或者也许 ng href 但由于某种原因 无
  • 如何在 C 中公开 C++ 函数指针?

    我在 C 中定义了两种类型的函数指针 如下所示 typedef void CallbackFn bool std string py array t
  • Java Web 服务/JAXB - 抽象超类

    我有一个包含 JAXB 带注释的类和抽象超类的包 我想在 Web 服务接口中使用这个超类 所以我 可以将任何子类作为参数传递 当我这样做时 会抛出异常 javax xml ws WebServiceException javax xml b
  • android动画将视图移动到另一个视图

    我有两个不同布局的视图 我想将一个视图移动到另一个视图 我的代码有什么问题吗 Y 动画播放错误 第一个视图位于片段的布局中 第二个视图位于状态栏中 int p1 new int 2 int p2 new int 2 viewOne getL
  • 是否有与 MySql 等效的 Profiler? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 Microsoft SQL Server Profiler 是 SQL Trace 的图形用户界面 用于监视数据库引擎或 Analysis Serv
  • Azure - BlobStore SAS uri 命令执行失败。

    当我尝试使用 Azure 门户创建云服务的生产部署并尝试上传包 cspkg 文件 时 我收到错误消息 BlobStore SAS uri 命令执行失败 详细信息 状态代码 0 状态文本 无 当我尝试上传配置 cscfg 文件 时 我收到相同
  • 初始化char数组时,剩余空间是零填充还是未初始化?

    Given char foo 1024 bar 这将初始化 foo 以包含 b a r 0 剩余的 1020 个字符是零初始化还是未初始化 我认为上面的内容与 char foo 1024 b a r 0 相同 与聚合的初始化一样 任何未提及
  • 如何仅将 Spring Converter 用于某些控制器?

    我有一个可以工作的 c 转换器 public class StringToLongConverter implements Converter
  • 通过 1 次提交回滚本地和远程 git 存储库 [重复]

    这个问题在这里已经有答案了 我读过有关该主题的类似帖子 但我一生都无法弄清楚如何正确执行此操作 我签入了大约 1000 个我不想要的文件 我不想通过 1by1 将它们全部从存储库中删除 我有一个遥控器master Branch 我有当地的m
  • 是否可以为 std::cin 设置超时?

    是否可以为 std cin 设置超时 例如 std cin 在 10 秒内没有收到任何数据 它会引发异常或返回错误 Edited 那么定时器呢Boost library 据我所知 它是便携式图书馆 是否可以要求 Boost 库的计时器在预定
  • Rails has_many,只查找有孩子的

    我的 产品 表 has many registered products 我想用类似的东西 products find has registered products 其中仅返回在 Registered products 表中也有条目的产品
  • Android Studio 3.3 中缺少 Instant Run

    目前 在 Android Studio 3 3 版本中 缺少允许即时运行的 Apply Changes 选项的快捷方式 还有另一个选项称为 更新正在运行的应用程序 它不提供相同的功能 如屏幕截图所示 此选项在 3 1 等旧版本中可用 我无法
  • 在 OnClickListener 内部我无法访问很多东西 - 如何处理?

    在 OnClickListener 内部 我无法访问作用域 外部 的大多数变量 如下所示 findViewById R id Button01 setOnClickListener new OnClickListener Override
  • 如何读取文件注释字段

    在 OS X Finder 中 有 注释 文件属性 可以通过添加 注释 列在查找器中检查它 也可以在右键单击文件或文件夹并选择 获取信息 后进行编辑 检查 如何在 swift 或 Objective C 中读取这个值 我已经检查过 NSUR
  • GIT:仅从 GitHub 克隆特定分支

    有没有可能从 GitHub 克隆不完整的存储库 而只是克隆选定的分支 我发现可以使用命令进行单分支克隆 git 克隆 git github path to repository git branch my branch 1 single b
  • HttpClient 和 Unity 的 UnityWebRequest/WWW API 的区别

    Unity 现在支持 NET 4 5 我可以使用HttpClient类来自System Net Http命名空间 这很棒 因为我有现有的客户端库 因此很容易重用 有谁知道内部情况之间的区别使用单声道 HttpClient and Unity
  • PHP - 关闭浏览器后会话销毁

    虽然这个问题有多个重复项 但我找不到适合我的正确解决方案 需要一些帮助 我用过ini set session cookie lifetime 0 在我的配置文件中 但它并不能帮助我在浏览器关闭时销毁会话 应用电流 1 在身份验证页面中 如果
  • 上课T?添加范围 ICollection?

    我尝试做静态类 添加到 icollection 但我遇到了一些我似乎无法克服的问题 这就是我得到的方式 以便我可以在方法中传递 ICollection 原因T是说它无法解决 然后我想知道有没有办法在 icollection 上执行 AddR
  • genfromtxt 返回 NaN 行

    我正在尝试使用 numpy 读取 csv 文件 并且有以下代码 from numpy import genfromtxt data genfromtxt open errerr csv r names True delimiter 并出现以
  • 从c#中的控制台输入多行

    我正在尝试从控制台读取 c 中的一些值 然后处理它们 但是我陷入了错误 控制台的输入是 Name ABCD School Xyz Marks 80 here the user enters a new line before enterin