C# 超载>;=操作人员

C# 超载>;=操作人员,c#,operator-overloading,C#,Operator Overloading,我需要重载运算符>=。如果条件为真,则运算符返回true,否则返回false。如果至少有一个对象为null–抛出异常(ArgumentException)。我试过这个。怎么了 public static bool operator false(Staff inputPerson) { if ((inputPerson.salary) <= 15000) { return true; } else if ((inputPerson.salary

我需要重载运算符
>=
。如果条件为真,则运算符返回
true
,否则返回
false
。如果至少有一个对象为
null
–抛出异常(
ArgumentException
)。我试过这个。怎么了

public static bool operator false(Staff inputPerson)
{
    if ((inputPerson.salary) <= 15000)
    {
        return true;
    }
    else if ((inputPerson.salary) is null)
    {
        throw new ArgumentOutOfRangeException("This person does not have a job");
    }

    return false;
}
公共静态布尔运算符false(人员输入人员)
{
如果((inputPerson.salary)请尝试以下操作:

public static bool operator >=(Staff p1, Staff p2) {
    if (p1 is null || p2 is null) {
        throw new ArgumentOutOfRangeException("This person does not have a job");
    }
    return p1.salary >= p2.salary;
}
来源:

试试这个:

public static bool operator >=(Staff p1, Staff p2) {
    if (p1 is null || p2 is null) {
        throw new ArgumentOutOfRangeException("This person does not have a job");
    }
    return p1.salary >= p2.salary;
}
来源:

试试这个:

public static bool operator >=(Staff p1, Staff p2) {
    if (p1 is null || p2 is null) {
        throw new ArgumentOutOfRangeException("This person does not have a job");
    }
    return p1.salary >= p2.salary;
}
来源:

试试这个:

public static bool operator >=(Staff p1, Staff p2) {
    if (p1 is null || p2 is null) {
        throw new ArgumentOutOfRangeException("This person does not have a job");
    }
    return p1.salary >= p2.salary;
}



来源:

你需要做一些像
公共静态bool操作符你需要做一些像
公共静态bool操作符你需要做一些像
公共静态bool操作符你需要做一些像
公共静态bool操作符你没有重载>=在上面的方法中。你为什么要尝试要做到这一点吗?与像
staffA>=staffB
这样的工作人员相比,没有任何意义,而且代码也很神秘。
staffA.Salary>=staffB.Salary
要干净得多。@xxbbcc确实有一个有效点。当你重载一个操作符时,你需要询问你的比较是否有意义。单是Salary一项就没有意义了o比较两个staff对象是一个很好的选择。在上面的方法中,你没有重载>=你为什么要这样做?与像
staffA>=staffB
这样的工作人员相比没有任何意义,这会使代码变得神秘。
staffA.Salary>=staffB.Salary
更干净。@xxbbcc确实有一个正确的观点。当您重载运算符时,您确实需要询问您的比较是否有意义。仅Salary一项似乎不适合比较两个staff对象。在上述方法中,您没有重载>=对象。您为什么要尝试这样做?与
staffA>=staffB
这样的员工进行比较没有任何意义,也有意义代码很神秘。
staffA.Salary>=staffB.Salary
更干净。@xxbbcc确实有一个有效的点。当你重载一个操作符时,你需要询问你的比较是否有意义。单独的Salary似乎不适合比较两个staff对象。你在上面的方法中没有重载>=为什么你想这么做吗?与像
staffA>=staffB
这样的员工相比,没有任何意义,而且代码也很神秘。
staffA.Salary>=staffB.Salary
更干净。@xxbbcc确实有一个有效点。当你重载一个操作符时,你需要询问你的比较是否有意义。只有Salary一项没有意义ot似乎是比较两个staff对象的好人选。
=
将返回
bool
。为什么
=
将返回
staff
对象而不是
bool
?Oups。复制粘贴错误。修复。谢谢!!
=
将返回
bool
。为什么
=/code>将返回
staff
对象而不是
bool
?Oups.复制粘贴错误。修复。谢谢!!
=
将返回
bool
。为什么
=
将返回
Staff
对象而不是
bool
?Oups.复制粘贴错误。修复。谢谢!!
=
将返回
bool
。为什么
=/code>>返回一个
Staff
对象而不是
bool
对象。复制和粘贴错误。修复。感谢!!+1关于重载所有操作员的评论。你能编辑这个问题吗。我在手机上无意中被否决了,它不允许我删除否决票。很抱歉,我已将其编辑为+1。我的问题必须更加小心电话lol.+1是关于过载所有操作员的评论。你能编辑这个问题吗?我在电话上,意外地投了反对票,它不会让我删除否决票。很抱歉。我已经将其编辑为+1。我的电话lol.+1是关于过载所有操作员的评论。你能编辑这个问题吗?我是在我的手机上,意外地投了反对票,它不会让我删除反对票。很抱歉。我已将其编辑为+1。在我的手机上必须更加小心lol。+1对于有关超载所有运营商的评论。你能编辑这个问题吗。我在手机上,意外地投了反对票,它不会让我删除反对票。对此,我很抱歉。我我把它编辑成+1。在我的手机上要小心点,哈哈。