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

2021-04-22 14:28

阅读:658

标签:区别   方法   两种方法   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


评论


亲,登录后才可以留言!