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

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。

转载于:https://www.cnblogs.com/x2009/p/8013037.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值