• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 浅谈C#中ToString()和Convert.ToString()的区别

浅谈C#中ToString()和Convert.ToString()的区别

作者:逆心 字体:[增加 减小] 来源:互联网 时间:2017-05-28

逆心 通过本文主要向大家介绍了浅谈c语言的位运算,浅谈c语言,浅谈中国酒文化论文,浅谈执业药师的作用,浅谈夏季坐月子等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

浅谈ToString()和Convert.ToString()方法的区别

一、一般用法说明

  ToString()是Object的扩展方法,所以都有ToString()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各种基本数据类型,也可以是bool或object类对象。

二、ToString()和Convert.ToString()的区别

  一般情况下,这两种方法都可以通用,但是当返回的数据类型中有可能出现null值时如果调用ToString方法了,就会返回NullReferenceException,除非你要捕捉此异常再做处理,否则在这种情况下就应考虑使用Convert.ToString()方法了,因为Convert.ToString(null)不会抛出异常而是返回空字符串。
主要的区别就如上所示,由于ToString()是扩展方法,扩展自Object,所以转null报异常。而Convert.ToString()返回空字符串。

  不过Convert.ToString(),作用不算太大,因为:

static void Main(string[] args)
    {
      string str1 = "";
      Console.WriteLine(Convert.ToString(str1) == null); //false
      Console.WriteLine(Convert.ToString(str1) == "");  //true

      string str2 = null;
      Console.WriteLine(Convert.ToString(str2) == null); //true
      Console.WriteLine(Convert.ToString(str2) == "");  //false

      Console.ReadKey();
    }
</div>

null转了之后还是null,""转了之后还是""。

  所以,配合上string.IsNullOrEmpty(Convert.ToString())还是比较方便的。

    Console.WriteLine(string.IsNullOrEmpty(Convert.ToString(str1)));  //true
    Console.WriteLine(string.IsNullOrEmpty(Convert.ToString(str1)));  //true
</div>

   另外,如果是跟某字符串对比,那么使用Convert.ToString()还是很方便的,例如

    if(Convert.ToString(str) == "123")
    {

    }
</div>

三、object到string的转换

  从 object 到 string 大致有四种方式,包括显式转换和as关键词的使用:obj.ToString()、Convert.ToString()、(string)obj、obj as string。他们都能将 object 对象转换成 string 对象。

  前两个方法通常是由别的对象得到 string 对象,它们间的区别如前文所述主要表现在:

ToString() :如果 obj 为 null,调用 obj.ToString() 方法会导致 NullReferenceException 异常。

Convert.ToString():如果 obj 为 null,调用 Convert.ToString()会返回null

(string):用强制转换 (string)obj 要求 obj 的运行时类型必须是 string。如果不是,就会抛出异常。

as :用 as 方法则会相对平稳,当 obj 的运行时类型不是 string 时会返回 null 而不抛出异常。

  所以在通常在我们需要得到某个对象的 string 表达形式时,我们应该使用 ToString() 和 Convert.ToString(),这时候你就得根据情形选一个,假如你能保证你的对象不为 null,则两个差不多。如果有可能为 null,你就应该用 Convert.ToString(),如果你希望它为 null 的时候抛出异常,那么当然可以选择 ToString()。

  ToString()这个方法太方便了,以致于以为就它这一种方法, 一般都是转之前先判断是否为null.

以上所述是本文的全部内容,希望对大家有所帮助!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈C#中的for循环与foreach循环
  • 浅谈C#中的委托、事件与异步
  • 浅谈c#表达式树Expression简单类型比较demo
  • 浅谈C#.NET、JavaScript和JSON
  • 浅谈C# winForm 窗体闪烁的问题
  • 浅谈C#网络编程详解篇
  • 浅谈C# 类的继承
  • 浅谈C#中HttpWebRequest与HttpWebResponse的使用方法
  • 浅谈C# 中的委托和事件
  • 浅谈C#下winform和JS的互相调用和传参(webbrowser)

相关文章

  • 2017-05-28C#绘制椭圆的方法
  • 2017-05-28C#数据结构之堆栈(Stack)实例详解
  • 2017-05-28C#的回调机制浅析
  • 2017-05-28C#实现多线程下载文件的方法
  • 2017-05-28C#读写操作app.config中的数据应用介绍
  • 2017-05-28c#通过ip获取地理信息
  • 2017-05-28C# Socket网络编程实例
  • 2017-05-28C#生成漂亮验证码完整代码类
  • 2017-05-28解决C# 截取当前程序窗口指定位置截图的实现方法
  • 2017-05-28C# IsDefined的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#文件加密方法汇总
    • C#调用Java代码的方法介绍
    • C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法
    • C#中将DataTable转化成List<T>的方法解析
    • DevExpress实现GridControl同步列头checkbox与列中checkbox状态
    • c# 委托详解
    • Winform实现调用asp.net数据接口实例
    • 如何在UpdatePanel中调用JS客户端脚本
    • 解析C#面向对象编程中方法(method)的使用
    • c#字符串使用正则表达式示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有