在 C# 中,你可以重载运算符,比如 + 和 *。在它们的数学解释中,这些运算符有严格确定的优先级顺序。当进行运算符重载时,是否保留这个顺序,还是以某种明确的方式进行更改,或者说你也可以重载优先级顺序呢?
如果您重载了运算符,它将始终优先于默认实现。但是,您无法更改运算符本身的优先级,因此它将保持为默认值。有关详细信息,请参见MSDN。 相关引用: 用户定义的运算符实现始终优先于预定义的运算符实现:仅当不存在适用的用户定义的运算符实现时,才会考虑预定义的运算符实现。 以及 用户定义的运算符声明不能修改运算符的语法、优先级或结合性。例如,/ 运算符始终是二元运算符,在第 7.2.1 节中指定了优先级水平,并且始终是左结合的。