Resharper Ultimate 2018.1空条件转换无限循环问题问询
ReSharper 2018.1 空条件运算符转换修复无限循环的Bug确认
嘿,我能确认这个问题在ReSharper Ultimate 2018.1里确实是可以复现的,而且这绝对是ReSharper的一个Bug。
触发这个Bug的具体场景
当你使用这段包含可空值类型和空条件运算符的C#代码时:
int? a = 1; var b = a == 1 ? "1" : "2"; var c = b?.Length;
如果尝试用ReSharper的快速修复功能,在文件/项目/解决方案这种范围级别上把?.转换成常规的空条件判断语句,修复操作就会陷入无限循环,停不下来。
已经验证有效的规避办法
你自己找到的两个办法都是可行的:
- 把可空的
int? a = 1;改成非可空的int a = 1;,这时候再跑范围修复就能正常完成了 - 别用范围级修复,只针对单独一行代码执行修复操作,这样也能立刻搞定
关于Bug的后续处理
你已经把这个问题提交到JetBrains的官方Bug追踪系统,这是正确的做法——这属于官方已记录的已知问题,JetBrains应该会在后续的ReSharper更新版本里修复它。
内容的提问来源于stack exchange,提问作者eforlina
相关产品推荐
相关产品推荐

