我相信我在 ReSharper 中发现了一个错误。假设我有如下代码:
int[] someArray = new int[10];
while (someArray != null)
{
//perhaps some other usage of someArray here, but not assigning it.
SomeMethod(ref someArray );
}
如果局部变量 someArray 在其范围内未分配给 null,则该语句someArray != null
将始终为真。但是,当该变量作为 ref 参数提供给另一个方法时,情况并非如此,因为它可以在该方法中被分配给 null。然后 ReSharper 错误地假设这someArray != null
仍然是正确的。
我想我会分享这些信息,因为我不确定我应该如何处理它。首先,我希望有人验证此错误,然后将其发送给 JetBrains?