object obj = "Hello";
string str1 = (string)obj;
string str2 = obj.ToString();
(string)obj
和 obj.ToString()
有什么区别?
最佳答案
(string)obj
castsobj
转换为string
。obj
必须已经是string
才能成功。obj.ToString()
通过调用ToString()
获取obj
的字符串表示形式方法。当obj
是一个string
时,它就是obj
本身。这(应该)永远不会抛出异常(除非obj
恰好是null
,显然)。
所以在您的特定情况下,两者是等价的。
注意 string
是一个 reference type (与 value type 相对)。因此,它继承自 object 而不是 boxing曾经发生过。
关于c# - 转换为字符串与调用 ToString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1565100/