.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 对象平等 的相关文章

  • 删除 DateTime.ParseExact 的时区

    我正在尝试将字符串解析为具有以下格式的日期时间 日 日期 月 年 时间 上午 下午 时区 示例 美国东部时间 2011 年 12 月 1 日星期四晚上 8 30 我已经使用 DateTime ParseExact 和格式 dddd dd M
  • 将 PDF 嵌入到 WPF 应用程序中

    我正在尝试在 WPF 应用程序中嵌入 显示 PDF 到目前为止 我已经尝试过这些解决方案 但没有成功 在 a 中显示 PDFWindowsFormsHost主持一个AxAcroPdf控制 类似于显示的内容here http hugeonio
  • 使物体跟随旋转且差异很小

    我正在使我的对象跟随另一个对象的旋转 我希望我的对象以很小的差异旋转 也就是说 从当前的旋转来看 它不应该与另一个对象完全旋转 其旋转应该存在差异 使其旋转主要对象旋转的 10 我该怎么做呢 using System Collections
  • 使用 C# 反序列化 JSON 以返回项目

    我有以下内容 documents keyPhrases search results Azure Search fast search indexing sophisticated search capabilities Build gre
  • 时间跨度格式[重复]

    这个问题在这里已经有答案了 当您将时间跨度声明为以下形式时 如何优雅地格式化时间跨度以表示 1 小时 10 分钟 TimeSpan t new TimeSpan 0 70 0 我当然知道你可以为此做一些简单的数学计算 但我有点希望 NET
  • GetWindowText() 抛出错误并且没有被 try/catch 捕获

    当我为 GetWindowText 运行下面的代码时 我收到作为内部异常抛出的以下错误 尝试读取或写入受保护的内存 这通常表明其他内存已损坏 DllImport user32 dll EntryPoint GetWindowTextLeng
  • 对于多重继承,使用隐式转换而不是 QueryInterface() 是否合法?

    假设我有一个类实现两个或多个 COM 接口 正如here https stackoverflow com questions 1742848 why exactly do i need an explicit upcast when imp
  • 如何将大文件 (>1 GB) 的编码转换为 Windows 1252,而不出现内存不足异常?

    考虑 public static void ConvertFileToUnicode1252 string filePath Encoding srcEncoding try StreamReader fileStream new Stre
  • 网络驱动器在启动时不可用

    我有一个 C 应用程序 它在启动时加载 并将数据记录到网络驱动器 该驱动器安装为 X 当机器首次启动时 应用程序会抛出 X 不可用的错误 如果我重新启动应用程序 也会出现同样的错误 但是 如果我打开 Windows 资源管理器并双击浏览驱动
  • 想要使用 C# 列出文件夹中的所有图像文件[重复]

    这个问题在这里已经有答案了 可能的重复 GetFiles 具有多个扩展名 https stackoverflow com questions 3527203 getfiles with multiple extentions 是否有像 Ge
  • 为什么 new String("Hello") 在 C# 中无效?

    制作背后的逻辑 原因是什么 String s new String Hello World 在 C 中非法 错误是 string String char 的最佳重载方法匹配有一些无效参数 我对 API 文档不感兴趣 我感兴趣的是为什么这是非
  • 如何使用 iText7 将 .p7s 字节数组插入 PDF 中?

    我正在尝试将 p7s 字节数组信息插入签名字段 我按照下面的图片操作 我的步骤 准备签名容器 原始PDF是 tmp example pdf 这部分的输出是 results prepared pdf PdfSigner signer new
  • 如何有效确保小数值至少有 N 位小数

    我想在进行算术运算之前有效地确保十进制值至少有 N 个位置 在下面的示例中 3 显然我可以格式化 0 000 然后解析 但它的效率相对较低 我正在寻找一种避免与字符串转换的解决方案 我尝试过以下解决方案 decimal d 1 23M d
  • 如何使这些 std::function 参数明确?

    传递 lambda 时 以下函数重载是不明确的 我发现std function can be 由大多数可调用类型构造 https stackoverflow com a 22543082 1079110 即使他们的签名不匹配 所以编译器无法
  • C# 的最佳替代“错误继续下一步”是什么?

    如果我为 C 代码放置空的 catch 块 它是否与 VB NET 的 On Error Resume Next 语句等效 try C code catch exception 我问这个问题的原因是因为我必须将 VB NET 代码转换为 C
  • 无效的超链接:格式错误的 URI 作为超链接嵌入到文档中

    我在我的应用程序中使用 OpenXml 命名空间 我用它来读取 Excel 文件中的 XML 这对于某些 Excel 文件工作正常 但在其他文件上我收到运行时错误 无效超链接 格式错误的 URI 作为超链接嵌入到文档中 我在下面一行得到运行
  • 为什么 C# 不支持类构造函数中的隐式泛型类型?

    如果编译器可以推断出泛型类型参数 C 并不要求您指定它 例如 List
  • c中的奇异值分解简单代码

    我正在寻找 C 语言的奇异值分解 SVD 代码 你能帮我吗 我找到了很多来源 但我无法运行它们 我正在寻找一个为我提供 S V 和 U 3 个矩阵的 SVD 代码版本 您可以使用数字食谱代码svdcmp c 参考 http tumic wz
  • 委托给子组件的模式

    在我正在工作的产品中 非常基本的场景之一是类的序列化 通常 要序列化的类会在其子组件上调用序列化 例如如果有一个类 s t 班级 A B C D 那么A Pack会调用pack B C D 上的函数 由于有很多这样的类 因此必须一遍又一遍地
  • IEnumerable 的随机顺序

    我有一个 IEnumerable 集合如下 var result1 GetResult1 Returns 2 4 5 6 我必须处理元素并以随机方式创建另一个集合 结果应如下 var result2 GetResult2 result1 R

随机推荐

  • 在 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