网站首页 > 知识剖析 正文
前言
在开发中,ToString()这个方法太方便了,以致于误解大家转换时都是直接Object.ToString()直接转换,
其实不然, 一般都是转之前先判断是否为null后再进行转换,否则会直接报错。
ToString()
每个类的基类都是Object类,ToString()是可以编写 overload 和 override 的方法之一。
因此,当你调用object.ToString()时,它的意思是它将调用该对象ToString,
如果object为null,则会抛出异常Object is not set to an instance of an object.
ConVert.ToString()
与在Convert.ToString方法中一样,Convert是一个静态类,我们在其中传递对象,
并在该方法中返回其检查对象是否为null或否(如果不是,则调用该对象的ToString方法,否则返回null)。
这样是不会报错的,但是null还是返回null," "还是返回" ",没啥意义,并且不注意的话,后续使用转换后的对象还会报错,如下:
建议使用方式
我们可以在使用之前进行null的规避,规避的方法很多,【if条件判断、三目运算符(三元运算符)等方法】
根据实际情况使用即可,这样就不会对后续操作有影响;
Object到String的转换方法
从 object 到 string
大致有四种方式,包括显式转换和as关键词的使用:obj.ToString()、Convert.ToString()、(string)obj、obj
as string。他们都能将 object 对象转换成 string 对象。
前两个方法通常是由别的对象得到 string 对象,它们间的区别如前文所述主要表现在:
(1)ToString() :如果 obj 为 null,调用 obj.ToString() 方法会导致 NullReferenceException 异常。
(2)Convert.ToString():如果 obj 为 null,调用 Convert.ToString()会返回null
(3)(string):用强制转换 (string)obj 要求 obj 的运行时类型必须是 string。如果不是,就会抛出异常。
(4)as :用 as 方法则会相对平稳,当 obj 的运行时类型不是 string 时会返回 null 而不抛出异常。
对于准备成为一名优秀程序员的朋友,如果你想更好的提升你的编程核心能力(内功),让自己成为一个具有真材实料的厉害的程序员,不妨从现在开始!C/C++,永不过时的编程语言~
编程学习书籍分享:
编程学习视频分享:
整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!
猜你喜欢
- 2024-12-01 Arc’teryx(始祖鸟)的产品命名规则
- 2024-12-01 .NETCore3.1中的Json互操作最全解读
- 2024-12-01 正点原子开拓者Nios II资料连载第十五章uC/GUI显示汉字/图片实验
- 2024-12-01 js中类型知识和valueOf()和toString()方法
- 2024-12-01 程序员不要好心办坏事
- 2024-12-01 技术分享 | MySQL 8.0:字符集从 utf8 转换成 utf8mb4
- 2024-12-01 Cannot allocate memory 分析及解决方法
- 2024-12-01 苹果发布Reality Converter应用 可在Mac上转换和自定义USDZ 3D对象
- 2024-12-01 7 款低调好用的效率工具,功能强大还免费
- 2024-12-01 使用 convert database 命令进行 RMAN 跨平台迁移(12C至19C)
- 04-26workerman 自定义的协议如何解决粘包拆包
- 04-26Everything 在应急响应中的使用
- 04-26后端开发干货:PHP源码阅读技巧
- 04-26php8属性注解使用教程
- 04-26PHP 中不可能存在的 XXE
- 04-26PHP-FPM 学习记录
- 04-26【玩法悉知】:领地战玩法全解析!
- 04-26PHP实现URL编码、Base64编码、MD5编码的方法
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)