从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#中的控制台输入多行 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile

随机推荐

  • 如何使用 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