在 C# 中获取输入的正确方法是什么,Convert 与 Parse

2024-02-03

我看到了一些在 C# 中获取用户输入的其他方法,这真的很令人困惑。我可以使用这两种方式来获取输入还是仅用于浮动?

是否有更多方式获取输入?

float myAge;

myAge = Convert.Toint64(Console.ReadLine());

vs

float myAge;

float myAge = float.Parse(Console.ReadLine());

我会推荐TryParse,以避免用户未提供有效浮点数时出现异常。

float myAge;
float.TryParse(Console.ReadLine(), out myAge);

或在 1 行中float.TryParse(Console.ReadLine(), out float myAge);

TryParse将返回一个 bool,您可以使用它来检查该值是否是有效的浮点数。

if(float.TryParse(Console.ReadLine(), out myAge)){
   //do stuff
}else{
    Console.WriteLine("You did not give a float");
}

double, int也有这些方法。它不仅是为了floats.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中获取输入的正确方法是什么,Convert 与 Parse 的相关文章

  • 简单的C问题

    作为我正在进行的项目的一部分 我必须开始学习 C 我已经开始解决其中的 欧拉 问题 并且遇到了麻烦 我必须找到 1000 以下的所有 3 或 5 的倍数之和 有人可以帮助我吗 谢谢 include
  • 从 Dropbox C# 下载文件[重复]

    这个问题在这里已经有答案了 我正在尝试下载 Dropbox 中的 pdf 文件 我需要将其保存到本地计算机中 可以是任何文件夹C Users User Desktop例如 这是我一直在使用的代码 public void DownloadPd
  • 如何将异常对象序列化为 xml 字符串

    我想要类似的东西 try code here catch Exception ex stringXML Exception toXML 这样 stringXML 的值就是
  • Windows CE 6.0 和运行时链接到调试 DLL /MDd

    我在 x86 PC 上使用 Windows CE 6 0 R3 我已经为该平台构建了 NK bin 和 SDK 但我有一些问题需要了解如何使用 MTd 调试 DLL 构建控制台应用程序 如果我尝试构建这个 main c with MDd i
  • 如何在Qt中更快地读取数据?

    Qt读取数据库比C 慢吗 我想我错过了一些东西 为了比较阅读速度 我在 Qt 中编写了以下内容 QElapsedTimer t t start int count 0 QString cs Driver SQL Server Server
  • std::async 参数的生命周期是多少?

    看来函数的参数是通过std async分享未来的生活 include
  • 我可以将特定警告视为错误吗?

    以下是我有时在学生代码中看到的模式的简化版本 bool foobar int a int b if a lt b return true 当然 真正的代码要复杂得多 Visual Studio 报告警告 C4715 并非所有控制路径都会返回
  • 是否可以获取指向装箱非托管值类型的指针?

    是否可以获取指向装箱非托管值类型的指针 而无需编写对每个支持的类型进行强制转换的大型 switch 语句 就像是 object val Contains a boxed unmanaged value such as int long by
  • memccpy 返回比 src 起始地址更低的内存地址

    我有一个学校项目 我必须重新编码memccpy 功能 我使用 2 个程序来检查我的代码是否正常工作 第一个是只有一个主程序的小程序 第二个程序是另一个学生开发的 可以找到here https github com yyang42 mouli
  • 为什么Windsor只能拦截虚方法或接口方法?

    我正在阅读文档 发现如果不使用接口 那么 Windsor 只能拦截虚拟方法 这是 Windsor 的限制还是 C 语言的限制 我正在寻找深入的答案 C 语言在这里完全无关 问题是拦截在运行时级别如何工作 一种技术是从类继承 实现接口并将其用
  • 本地主机和 request.Url.Authority

    我的应用程序通过 URL 中的公司标识符分隔用户 company1 app com company2 app com 我正在本地 PC 上进行测试 请求如下 company1 localhost com 但是 我的 request Url
  • 如何将对 System.Data.DataSetExtensions 的引用添加到网站 ascx.cs 文件?

    我们正在处理一个网站项目并尝试参考System Data DataSetExtensions 使用 Web 应用程序会更好 不过 技术主管有她的理由 这是我们尝试过的 找到装配路径 打开 Visual Studio 命令提示符并运行sn e
  • 验证域用户凭据

    我需要一种方法来验证 Windows 上本机 C 的用户 密码对 输入的是用户名和密码 用户可以是 DOMAIN user 格式 基本上我需要编写一个函数 如果用户 密码是有效的本地帐户 则返回 true 第1部分 如果用户 密码在给定的域
  • 如何从 Function App 设置会话 ID 或创建自定义字段到 Application Insights

    功能应用程序如下 public static async Task
  • Xamarin.Android JmDNS 绑定问题

    我开始研究 Xamarin Android 的 JmDNS 绑定 我设法构建了绑定 但无法从代码中引用它 https github com ytn3rd monodroid bindings tree master JmDNS https
  • 如何明智地解释这个编译器警告?

    当我执行这段代码时question https stackoverflow com a 51056490 2411320 我收到这个警告 warning format d expects argument of type int but a
  • C 中函数“fgets”的参数太少

    每当我编译这个错误时 我都会收到该错误 但我不知道为什么 我直接从书上抄袭这个 有人可以帮忙吗 include
  • 在标准 C 中将 int 转换为 string

    我是 C 新手 我正在寻找一个可以调用函数进行转换的示例int串起来 我发现itoa但这不是标准 C 的一部分 我还发现sprintf str d aInt 但问题是我不知道所需的 str 的大小 因此 我如何传递输出字符串的正确大小 有多
  • 如何在您的网站中连接两个人

    有一款名为 Verbosity 的游戏 这是一款有目的的游戏 位于此链接上www gwap com 在游戏中 他们随机连接两个玩家互相玩 游戏是玩家1应该向他的搭档 玩家2 描述一个单词 而玩家2应该猜测这个单词 我正在尝试建立一个网站来执
  • File.Move 的原子性

    我想将目录中的文件重命名为原子事务 该文件不会更改目录 该路径作为 NTFS 文件系统的 UNC 路径提供 可能位于服务器 03 或 08 上 File Move 对于这些目的来说是原子的吗 例如 它要么成功完成 要么失败 以使原始文件仍然

随机推荐

  • 如何限制MySQL距离查询

    我正在尝试执行距离计算以返回特定距离内的地点列表 这是基于使用邮政编码数据库并确定从出发地到每个位置的距离 我想要做的是将结果限制在距原点一定距离内 但我的 MySQL 查询遇到了问题 这是基本查询 SELECT ROUND DEGREES
  • R - 二进制博客数据的聚类分析

    我有一个与下面的示例类似的网络数据 它仅具有用户和二进制值 用于表明该用户是否点击了网站内的特定链接 我想对这些数据进行一些聚类 我的主要目标是根据用户的在线行为找到相似的用户 对此有什么好的聚类算法 我尝试过 k means 它不适用于二
  • 如何使单个 React Docker 构建/映像在所有环境中运行?

    我正在尝试在单个 Docker 容器中部署一个 React 应用程序 该容器能够在 OpenShift 平台上运行 dev preprod 和 prod 在该平台上我只能推送标记的 docker 镜像 为了做到这一点我有 使用 Github
  • 警告:未将分支主设置为其自己的上游

    我正在尝试将 git 分支设置为上游 但低于警告 Command git checkout master git branch set upstream to master 警告 未将分支主设置为其自己的上游 我该如何解决 这是否意味着它已
  • PHP Switch 语句

    switch sort case abc order by subject ASC break case fn order by u username ASC break case rd order by p posted on DESC
  • 将 ssis 中的 sql server 查询输出导出到文本文件,包括列标题

    我一直在尝试将 SqlServer sql 查询 存储过程 的输出导出到文本文件 我使用带有 OLEDB 源和平面文件目标的数据流任务来实现它 我还想在文本文件中获取列标题以及查询结果 但我不知道如何包含列标题 我想在 SSIS 中动态地执
  • 函数式编程中的引用透明性

    我是 JS 新手 正在学习函数式编程 并遇到了 引用透明度 这个术语 另外 我发现了这样的说法 引用透明度表明用纯函数的值替换纯函数是安全的 这是否意味着只要函数变热 使用 RT 就可以让 JIT 编译器轻松地用函数的返回值替换函数 真的吗
  • 如何跨多个页面传递多个变量?

    我的网站涉及用户通过多页表单提交数据 我可以将一页上提交的数据直接传递到下一页 但是如何将其发送到之后的页面呢 这是我正在做的事情的一个非常简化的版本 Page 1 Page 2
  • 在 HTML+CSS 中的活动菜单项下添加箭头

    我正在尝试生成如下菜单 菜单中有多个项目 活动的项目后面有一个箭头 菜单项是类似以下代码的标签 div class menuCenter div class linksWrapper a href Home a a class menuCe
  • Firefox 中调整大小时背景图像下的线条闪烁

    我正在构建一个网站 其标题中有一个全宽背景图像 可随页面调整大小 在 Firefox 中调整图像大小时 图像下方会出现一条不寻常的闪烁水平线 该线不会完全显示 但会在尺寸更改时闪烁 该线出现在背景图像的底部 而不是标题元素的底部 仅当我在
  • 尝试使用 .toUpperCase() 将字母转换为大写...不起作用?

    我试图使用 toUpperCase 将数组中的字符转换为大写 但它不起作用 我很确定我的逻辑是正确的 所以不确定为什么它不起作用 var test hello 3 function LetterChanges str var testArr
  • 如何在Python中水平放置单选按钮

    AANTAL 1 1 2 2 3 3 4 4 5 5 6 6 v StringVar v set 1 for text mode in AANTAL but Radiobutton Main padx 20 pady 10 font ari
  • Magento 和 Paypal 税务舍入问题

    我对 Paypal 和 Magento 1 7 0 2 有一些舍入问题 网站上的所有价格均含税 税费按 20 增值税 计算 我去结账 一切都正确 然后我会点击下订单 Paypal 就会像这样 这是不正确的 因为现在总计少了 1p 这似乎是由
  • 表单元素未出现在 $scope 中

    这是我的表格的开始 div 这是我的控制器 app controller Customer scope function scope alert scope CustomerForm scope CustomerForm未定义 表格不应该添
  • RHEL 上的 Docker CE - 要求:container-selinux >= 2.9

    我正在尝试安装Docker CE on RHEL使用这个link https stackoverflow com questions 42981114 install docker ce 17 03 on rhel7 这是我的 RHEL 版
  • 使用 execv(C 语言)从 Linux 命令提示符运行命令

    到目前为止 我唯一感到困惑的部分是如何设置 execv 并使用第一个参数作为当前工作目录 我已经尝试过两个 和 都没有在屏幕上执行任何操作 也一样 和 我对如何让 execv 运行这样的事情感到困惑 prog ls t al 并让它在程序执
  • Scala 按索引过滤列表

    我想用函数式的方式来编写它 我能做的最好的就是 list zipWithIndex filter tt Tuple2 Thing Int gt tt 2 3 0 unzip 1 获取元素 0 3 6 有没有更易读的 Scala 习惯用法 如
  • 有没有办法从 Flurry API 获取报告的用户 ID?

    我有一个使用 Flurry 的 iOS 游戏 因此我通过 Flurry setUserID USER ID 向 Flurry 发送每个玩家的唯一 ID 几个小时后 我从 Flurry 页面 gt 事件 gt 事件日志 gt 获取此 ID下载
  • 在 Git 中强制添加子模块内容

    我在一所学校编码 要求我们使用 git 将所有工作提交到他们的服务器 每个作业都有自己的文件夹 该文件夹有自己的 git 目录 我试图将父文件夹推送到我的 github 但是当我推送时 它实际上并没有上传文件夹内的代码 因为它被视为子模块
  • 在 C# 中获取输入的正确方法是什么,Convert 与 Parse

    我看到了一些在 C 中获取用户输入的其他方法 这真的很令人困惑 我可以使用这两种方式来获取输入还是仅用于浮动 是否有更多方式获取输入 float myAge myAge Convert Toint64 Console ReadLine vs