C# 中那些可以被重载的运算符(操作符),以及使用它们的那些丧心病狂的语法糖
发布于 2018-05-19 23:20...----
可以重载的运算符
运算符的重载比想象中的更加强大。因为——重载运算符时可以随意定义运算符中操作数的数据类型和返回值的类型。
是的!不只是操作数,连返回值类型也能被重载!...二元运算符
+, -, *, /, %, &, |, ~, ^, >
其中 ~ 运算符的重载是微软运算符重载部分的官方文档中并没有提及的。...只能被间接重载的运算符
索引器,显示转换或隐式转换
[], (T) x
前面 Avalonia 的绑定语法糖就充分利用了索引器的特点,使得能够在对象初始化器中初始化那些本没有直接定义在类型中的属性。..., ->, =>, as, checked, unchecked, default, delegate, is, new, sizeof, typeof
如果你还发现了其他黑科技来重载那些本不可以被重载的操作符