c# - 对象类型具有 ToString()、GetHashCode()、GetType 等方法的原因是什么

标签 c# .net

我有一个看起来很傻的问题。在基本 Object Type 上定义 ToStrin()、GetHashCode()、GetType() 等方法背后是否有任何特定原因。 .Net 框架是否出于任何目的在内部使用这些方法。只是想知道这个设计背后的想法。

谢谢, 扫一扫

最佳答案

这些方法被认为是所有对象所需的最低要求。通过将它们引入 System.Object 类,它们可用于 .NET 中的所有对象。

各有各的用途:

  • EqualsReferenceEquals 用于相等检查
  • GetHashCode 允许在哈希集合中使用对象
  • GetType 是反射工作所必需的
  • ToString 允许所有对象,无论类型如何,都以字符串形式表示,这是非常有用的
  • Finalize 允许垃圾收集器正确处理资源
  • MemberwiseClone 允许生成对象的浅拷贝

关于c# - 对象类型具有 ToString()、GetHashCode()、GetType 等方法的原因是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622068/

相关文章:

c# - 如何重定向到 MVC3 中的相同 Controller 操作?

c# - 用于电子邮件发送的波兰字符 MIME 格式的问题

c# - 在 Web API Controller 中接收 Json 反序列化对象作为字符串

c# - .net 4.0 采用率

.net - 加密加速器和.NET

c# - 如何使用 EmbeddedNavigator 在 DevExpress GridView 中保存行更改

c# - 如何修复 .net standard 2.0 项目中的 'Could not load file or assembly System.IO.Packaging, Version=4.0.3.0'

c# - 为什么我必须在 DataGridViewRow 上调用 Cast<> 扩展方法?

c# - UnitOfWork 与多个同时连接作斗争

c# - 如何在 C# 中创建具有到期日期的用户密码