obj.ToString()将导致System.NullReferenceException

时间:2022-03-16 07:19:30

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。