gpt4 book ai didi

c# - 比较不同类型的装箱值

转载 作者:太空狗 更新时间:2023-10-30 00:37:24 26 4
gpt4 key购买 nike

在C#中,值类型可以装箱,这会导致某些比较问题,特别是对于不同的类型。示例:2m == 2L 返回 true,但 (object)2m == (object)2L 返回 false .我的问题是:是否可以编写一个比较方法来获取两个对象(盒装值)参数并在示例情况下返回 true ?它必须适用于任何值类型组合,并且在值未装箱时具有与 == 运算符相同的行为。谢谢!

最佳答案

我建议为该任务使用dynamic

object o1 = 2m;
object o2 = 2L;

if ((dynamic)o1 == (dynamic)o2) { Console.WriteLine("Works like charm"); }

但是,我并不完全了解 dynamic 关键字的所有含义,所以要小心!

关于c# - 比较不同类型的装箱值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52078501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com