C# 版本 8 .. 运算符的优先级是什么?
What is the precedence of C# version 8 .. operator?
我正在将我们的 MS C# 7.x 解析器升级到 C# 8。它有新的语法和运算符,其中大部分似乎在任何合理的 V7 语法中都有明显的位置。
但是,有一个新的二元运算符可以形成范围:
..
但是我找不到任何关于这在运算符优先级中的位置的信息
等级制度。实际上,人们会期望它的优先级低于加法
或减法,这样就可以写
xyz[n+k..m-k]
但这只是我的猜测。
是否有 v8 运算符优先级 table 在某处可用?
显然没有 Microsoft 发布的版本 8 语法。希望我错了。
来自 MSDN
(https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/ranges):
All forms of the range operator have the same precedence. This new precedence group is lower than the unary operators and higher than the mulitiplicative arithmetic operators.
我正在将我们的 MS C# 7.x 解析器升级到 C# 8。它有新的语法和运算符,其中大部分似乎在任何合理的 V7 语法中都有明显的位置。
但是,有一个新的二元运算符可以形成范围:
..
但是我找不到任何关于这在运算符优先级中的位置的信息 等级制度。实际上,人们会期望它的优先级低于加法 或减法,这样就可以写
xyz[n+k..m-k]
但这只是我的猜测。
是否有 v8 运算符优先级 table 在某处可用?
显然没有 Microsoft 发布的版本 8 语法。希望我错了。
来自 MSDN (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/ranges):
All forms of the range operator have the same precedence. This new precedence group is lower than the unary operators and higher than the mulitiplicative arithmetic operators.