新闻详情

新闻详情

首页 / 资讯中心 / 详情

Parse / TryParse / Convert三种转换出现的异常

发布时间:2026/10/2 8:28:26来源:尧图网络
Parse / TryParse / Convert三种转换出现的异常
转换Parse / TryParse / Convert重点看异常行为三种方式把字符串变成数字区别全在失败时的行为。Parse失败就抛异常int n1 int.Parse(123); // 123正常 int n2 int.Parse(abc); // FormatException int n3 int.Parse(null); // ArgumentNullException int n4 int.Parse(99999999999); // OverflowException超出 int 范围不捕获的话程序直接崩。TryParse失败不抛异常返回 falseint value; bool ok1 int.TryParse(123, out value); // ok1 truevalue 123 bool ok2 int.TryParse(abc, out value); // ok2 falsevalue 0不抛异常 bool ok3 int.TryParse(null, out value); // ok3 falsevalue 0 bool ok4 int.TryParse(99999999999, out value); // ok4 falsevalue 0out的意思是这个方法除了返回值还能通过value这个变量「带出」一个结果。调用方必须传一个变量接住方法内部必须给它赋值。实际用法永远配ifConsole.Write(请输入年龄); string input Console.ReadLine(); if (int.TryParse(input, out int age)) { Console.WriteLine(你的年龄是 age); } else { Console.WriteLine(输入的不是合法数字); }Convert能容忍 null但不能容忍格式错int c1 Convert.ToInt32(123); // 123 int c2 Convert.ToInt32(null); // 0 ← null 当 0 处理不抛异常 int c3 Convert.ToInt32(abc); // FormatException int c4 Convert.ToInt32(99999999999); // OverflowException // Convert 的另一个用途数值类型之间互转且是四舍五入 int r1 Convert.ToInt32(2.6); // 3 int r2 (int)2.6; // 2 强转是截断不是四舍五入⚠️ Convert 的舍入是银行家舍入四舍六入五成双Convert.ToInt32(2.5); // 2 五入到偶数 2 Convert.ToInt32(3.5); // 4 五入到偶数 4 Convert.ToInt32(2.4); // 2 Convert.ToInt32(2.7); // 3异常行为对照表输入int.Parseint.TryParseConvert.ToInt32123123true输出 123123abc抛 FormatExceptionfalse输出 0抛 FormatExceptionnull抛 ArgumentNullExceptionfalse输出 00不抛99999999999抛 OverflowExceptionfalse输出 0抛 OverflowException数值 2.6不接受不接受3银行家舍入
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Flutter Switch 适配 OpenHarmony 实战:状态、主题与真机调试 2026/10/2 9:16:46

Flutter Switch 适配 OpenHarmony 实战:状态、主题与真机调试

在 Flutter 适配 OpenHarmony 的日常里,Switch 算是我最先认真啃的一批组件之一。原因很简单:它代码量最少,但牵涉的状态、主题、触摸热区和语义问题一点都不少。你从网上搜“Flutter for OpenHarmony Switch”,能找到的大多只是基…

阅读更多 →
MySQL命令行导出数据库实战:mysqldump参数详解与备份恢复 2026/10/2 9:16:45

MySQL命令行导出数据库实战:mysqldump参数详解与备份恢复

1. 为什么我坚持用命令行导出数据库先交代一下背景。我接手过不少项目的数据库运维,发现一个现象:很多开发同学用 Navicat 或者 DataGrip 这类图形化工具用得飞起,鼠标点几个按钮就能把库导出成 SQL 文件,看起来挺方便。但真到了生…

阅读更多 →
嵌入式Linux GPIO实战:从sysfs到libgpiod的演进与避坑指南 2026/10/2 9:16:45

嵌入式Linux GPIO实战:从sysfs到libgpiod的演进与避坑指南

1. 这不是“点灯实验”,而是嵌入式Linux下GPIO的生存法则 很多人第一次接触Linux GPIO编程,是在树莓派或Jetson Nano上跑一个“LED闪烁”的Demo。按下回车,LED亮了,心里一喜——以为掌握了。但真正把代码部署到工业网关、车载ECU或…

阅读更多 →
重装系统全流程:U盘启动盘制作、BIOS设置与数据备份避坑指南 2026/10/2 9:16:44

重装系统全流程:U盘启动盘制作、BIOS设置与数据备份避坑指南

1. 先判断:这台电脑到底该不该重装1.1 三个信号,说明系统是真救不回来了我自己经手过的机器,大概七成是"用户觉得该重装",剩下三成才是真该重装。区别在哪?先看三个信号。第一个信号是开机进不到桌面&#x…

阅读更多 →
卫宁电子病历表结构解析:从Word文档到SQL视图的实战指南 2026/10/2 9:16:42

卫宁电子病历表结构解析:从Word文档到SQL视图的实战指南

简介:这份资源是卫宁电子病历系统(EMR)的数据库表结构设计说明书,实际文件名为《临床信息系统数据库结构设计说明书》,基于卫宁5.0版本整理。内容覆盖系统框架、财务收费、医疗信息三大板块,完整收录800多张…

阅读更多 →
ax命令与agentic编排:Kubernetes workspace创建与故障排查 2026/10/2 9:16:29

ax命令与agentic编排:Kubernetes workspace创建与故障排查

1. 从“ax”这个标题说起:一个被低估的工程缩写第一次看到“ax”这个标题,很多人会一头雾水。它不像“Kubernetes 集群搭建”那样直白,也不像“Agentic RAG 实战”那样有明确的技术指向。但恰恰是这种极简的命名方式,在工程圈里反…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉