c# - 转换为字符串与调用 ToString

标签 c#

object obj = "Hello";
string str1 = (string)obj;
string str2 = obj.ToString();

(string)objobj.ToString() 有什么区别?

最佳答案

  • (string)obj casts obj 转换为 stringobj 必须已经是 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/

相关文章:

c# - Visual Studio 2017 Enterprise 不会停止在生成时运行所有测试

c# - log4net 从自定义 appender 访问上下文属性

c# - 如何避免在每次回发时调用 ModelState.IsValid?

c# - 在 C# 中捕获键盘笔画

c# - OWIN ASP.NET - 如果访问 token 已过期,则无法使用刷新 token 生成访问 token

c# - 使用基类列表中的项目到泛型方法

c# - 如何在不同的命名空间中处理相同的类名?

c# - FileHelper 读取以使用 web api 流式传输和下载

c# - mono 的 mdb 文件与 csc 的 pdb 文件

c# - 如何使用 Entity Framework 6.x 和浮点列确保浮点精度