gpt4 book ai didi

c# - 覆盖 == 运算符时顺序重要吗?

转载 作者:行者123 更新时间:2023-12-01 19:50:42 24 4
gpt4 key购买 nike

在 C# 中,我可以用我自己的实现覆盖 == 。例如:

public static bool operator ==(SomeType x, SomeOtherType y)
{
return false;
}

参数的顺序在这里重要吗?将 SomeTypeSomeOtherType 交换有区别吗?

最佳答案

是的,确实如此。就你而言,

SomeType x;
SomeOtherType y;
bool b = x == y;

会调用你的函数,但是

bool b = y == x;

不会不会

在这方面,重载运算符函数与具有多个参数类型的任何常规函数具有相同的行为:传递的参数必须与预期类型匹配,并且顺序也很重要。

关于c# - 覆盖 == 运算符时顺序重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41935296/

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