gpt4 book ai didi

c# - 一般比较两个对象

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

我知道一个天真的问题,经过两年的经验,我不得不回答这个问题。

简单地说,我需要创建一个通用方法,这个方法可能接受 int、double、float 并比较它们并找到更大的值:

object ComapreMethod(object obj1, object obj2)
{
if(obj1 > obj2)
{
return obj1;
}

return obj2;
}

我想用 int、short、ushort、float、double 等来调用它,我真的很困惑如何比较 obj1 和 obj2 我不能用上面的方式写我知道这很天真,但我不知道

最佳答案

好吧,您可以使用泛型更改您的方法签名:

TType ComapreMethod<TType>(TType obj1, TType obj2) where TType : IComparable

并将方法中的代码从 if(obj1>obj2) 更改为 if (obj1.CompareTo(obj2) > 0)(并且不要忘记处理obj1 和 obj2 为空的情况)。

在这种情况下,您将能够将一些实现了 IComparable 接口(interface)的类的值传递给您的方法,包括整数、 double 和 float 。

关于c# - 一般比较两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27689085/

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