gpt4 book ai didi

c# - 比较转换为对象的值类型

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:38 25 4
gpt4 key购买 nike

我有一个返回对象的方法,它可以是多种不同数据类型中的一种,包括字符串、数字和 boolean 值;在某些时候,我需要比较从此方法返回的两个值是否相等。我使用 == 而不是 Equals() 因为我需要不同的数字类型来比较 - 即。 3 == 3.0 - 这适用于字符串和数字,但由于某种原因,当我比较 boolean 值时它会下降。

解决这个问题的最佳方法是什么?如果是 bool,我宁愿不必检测类型和强制转换,但如果没有其他解决方案,我会这样做

我的代码看起来像这样:

private object GetValue() {
// does some stuff, returns either a boolean, string or number value
}

var value1 = GetValue();
var value2 = GetValue();
if (value1 == value2) {
// do something
}

最佳答案

public bool Compare(object value1, object value2)
{
if (value1.GetType() == value2.GetType())
{
return value1.Equals(value2);
}
else
{
//your logic for handling different numbers
}
}

关于c# - 比较转换为对象的值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13272552/

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