码迷,mamicode.com
首页 > Windows程序 > 详细

C#类型转换obj.ToString()、Convert.ToString(obj)、(string)obj、obj as string差异

时间:2017-12-09 23:55:37      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:区别   方法   两种方法   idc   tostring   异常   两种   一个   system   

C#下有4中方式可将一个对象转换为string:

            object obj = "";
            string str;
            str = obj.ToString();
            str = Convert.ToString(obj);
            str = (string)obj;
            str = obj as string;

1. 前两种方法用于得到一个对象的string表示,如DateTime类型转string类型,一般自定义对象会重写ToString()方法;

2. 区别在于若obj=null,obj.ToString()将导致System.NullReferenceException,而Convert.ToString(obj)返回null;

3. 后两种方法要求obj的运行时类型必须是string;

4. 区别在于若obj不为string类型(如object obj = DateTime.Now),(string)obj将导致System.InvalidCastException异常,而obj as string返回null。

C#类型转换obj.ToString()、Convert.ToString(obj)、(string)obj、obj as string差异

标签:区别   方法   两种方法   idc   tostring   异常   两种   一个   system   

原文地址:http://www.cnblogs.com/x2009/p/8013037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!