.net 对象平等

2024-01-22

假设我们有两个对象 o1 和 o2 定义为 System.Object,在我的情况下,o1 和 o2 可以是以下任何类型:

  • String
  • Int32
  • Double
  • Boolean
  • DateTime
  • DBNull

那么我如何检查 o1 和 o2 是否相等,因此是相同的对象或两者具有相同的类型和值。

我可以这样做吗o1 == o2或者我需要做什么o1.Equals(o2)或者是其他东西?

Thanks,

AJ


我建议你使用

object.Equals(o1, o2)

因为这也可以解决无效问题。 (假设您希望两个空引用比较相等。)

你应该not use ==因为运算符不是多态应用的;类型overload==但他们没有override它(没有什么可以覆盖的)。如果你使用

o1 == o2

这将比较它们参考身份,因为变量被声明为类型object.

Using o1.Equals(o2)将工作except在这种情况下o1为 null - 此时它会抛出一个NullReferenceException.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.net 对象平等 的相关文章

随机推荐

  • 在 Elastic Beanstalk 上使用 docker-compose 部署简单的 docker 应用程序

    我有一个简单的 docker 应用程序 可以通过以下方式在本地运行docker compose up 当我发送 yml将文件发送给我的朋友 他们也能够在本地计算机上启动并运行它 但是 当我尝试将其部署在 Elastic Beanstalk
  • 如何使用单个 ASP.NET MVC 应用程序服务多个域?

    如何实现一种机制 在单个 ASP NET MVC 应用程序内 以确保 如果请求来自 mydomain 用户访问 mydomain com gt 使用某些控制器集进行处理 如果请求来自 otherdomain 用户访问 otherdomain
  • 有人再为都柏林核心烦恼吗?

    正如问题所述 将 Dublin Core 元标记添加到 HTML 头部有什么意义吗 或者有站点地图 org http www sitemap org删除了大部分的使用 尽管它只替换了一些标签 我问这个问题是因为我访问的大多数网站似乎都没有在
  • Java Config @Bean 未在其他 @Configuration 类中自动装配

    尝试使用 Java Config 设置 Spring 4 Web 应用程序时 我遇到了将一个配置类中创建的 bean 自动装配到另一个配置类中的问题 dataSource bean 在 MyBatisConfig 类中具有 null 值 这
  • Python 中的字符串格式化[重复]

    这个问题在这里已经有答案了 我想做类似的事情String Format 0 1 2 1 2 3 返回 1 2 3 我如何在 Python 中做到这一点 前面的答案使用了 格式 该格式在 Python 3 0 中已被淘汰 假设您使用的是 Py
  • 如何为 PHP 8 设置 VS Code 扩展 Intelephense?

    我想将我购买的 Visual Studio Code 扩展设置为使用 PHP 8 版本 因为它的 intelisense 功能 检查defaultSettings json对于 intelephense 搜索查询给出了很多点击 但只有一个对
  • 偏差在神经网络中的作用是什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我知道梯度下降和反向传播算法 我不明白的是 什么时候使用偏差很重要以及如何使用它 例如 当映射AND函数 当我使用两个输入和一个输出时 它
  • 有没有像 Python 的 easy_install 这样的 Java 包管理器? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有包管理器 http en wikipedia org wiki Package manager对
  • “此方法已被弃用”对于应用程序开发人员意味着什么

    我看到不少好旧有用的方法 http developer android com reference android webkit WebView PictureListener html onNewPicture 28android web
  • Web 服务或 Web 服务

    我正在创建一个应用程序 该应用程序将与安装 WCF Web 服务的单个服务器进行通信 我对这个过程有点陌生 想知道从长远来看 这两个选项中哪一个更适合处理大量用户的负载 1 在多核服务器上创建并安装单个 Web 服务 以便所有客户端应用程序
  • Chrome PDF 查看器下载按钮在 window.open() 选项卡上不起作用

    我正在开发一个项目 它将 http 请求发送到 spring boot 作为回应 我收到了带有 PDF 文件的流 我需要在新选项卡中打开此文件 并使用 Chrome PDF 查看器的所有功能 尤其是下载功能 这是我处理响应并打开包含收到的
  • 如何将 Ruby on Rails 生产挂载点包含在电子邮件的 url_helpers 中?

    tl dnr 我的页面链接很好 但链接到非页面文本 电子邮件 缺少生产应用程序安装点 detail 我的 RoR 应用程序在开发和生产中使用略有不同的 URL 在开发中 顶级实体是资源模型 http localhost 3000 ENTIT
  • 如何从 Intellij IDEA 中删除指向旧/丢失源的(虚拟)断点?

    使用 Intellij v14 和现在的 v15 我设置了断点来调试来自 Tomcat 7 中运行的 Web 应用程序的外部依赖项 通常是快照版本 的尚未发布的类 当我将该外部依赖项更改为发布版本时 重新编译项目并在调试模式下运行 即使断点
  • Swift Codable - 解析可以包含不同数据类型的 JSON 数组

    我正在尝试解析一个 JSON 数组 它可以是 config data name illuminate config title Blink name shoot config title Fire 或者它可以是以下类型 config dat
  • 在 Solaris 上构建 Boost

    Boost 会完全构建在 Solaris 上吗 在我去支付支持合同以将 Sun Studio 12 2 修补到最新版本之前 我想知道是否有人在这方面取得了成功 特别是 Proto Spirit 我遇到了一些错误 有些错误看起来已经在补丁中解
  • c# 将图像(缩放)绘制为图形,无法正确插值。修复?

    我有一个 1px 宽和一定高度的图像 我需要在其 OnPaint 事件上在控件的整个宽度上绘制此图像 我可以绘制它 但不正确 看起来当它拉伸它时 它实际上并没有填充所有像素 就好像插值关闭一样 有没有办法说 别再自作聪明了 直接画出来吧 我
  • NG-bootstrap 和 Angular 9 兼容性

    升级到 Angular 9 后 我收到以下与 ng bootstrap 相关的错误 src app shared Components form controls dropdown select dropdown select compon
  • 我需要解决 Excel 猜测数据类型问题

    我正在创建一个实用程序来将数据从 Excel 导入到 Oracle 数据库 我有一个固定的 Excel 文件模板 现在 当我尝试通过 Jet 提供程序和 ADO Net Ole 连接工具导入数据时 我发现以下问题 有一些列尚未导入 因为它们
  • 宏未显示在宏表中

    我正在 excel 2016 中编写 VBA 宏 我编写的带有参数的宏不会显示在宏表中 仅显示那些没有参数的宏 帮助 带参数的宏在宏框中不可见 因为将它们放在那里没有意义 如果它们需要参数来运行 则无法从宏框中运行它们 因为无法向相关宏提供
  • .net 对象平等

    假设我们有两个对象 o1 和 o2 定义为 System Object 在我的情况下 o1 和 o2 可以是以下任何类型 String Int32 Double Boolean DateTime DBNull 那么我如何检查 o1 和 o2