edu*_*ing 3 c# compiler-warnings
在引用类型与null合并的情况下,为什么这不是C#编译器中的编译器警告?这有什么意义吗?
obj2 = obj ?? null;
Run Code Online (Sandbox Code Playgroud)
Eri*_*ert 11
你应该阅读我关于这个主题的文章.
简而言之:为了使编译器警告存在,它必须是:
您提出的警告不符合要求1和4.据我所知,您是第一个想到这一点的人,因此它不能成为警告,因为编译器团队中没有人想到它.它不太可能是偶然打字的,为什么它应该是一个警告呢?当你错误输入可能输入错误的内容时,会有警告告诉你.它也不符合要求3,因为代码显然不是错误的,它只是不必要地复杂化.编译器不会给出整数x * 1在哪里的警告x.
这是有道理的,它只是不是很有用.
既不是:
i = i + 0;
Run Code Online (Sandbox Code Playgroud)
但编译器也没有抱怨.为什么要这样?只要您的请求在语法上是正确的,编译器就会执行它所说的内容 - 它就是这样.
| 归档时间: |
|
| 查看次数: |
277 次 |
| 最近记录: |