0

我正在使用ReSharper.

我有以下内容if-statement

if (Utility.Compare(Utility.ExtractRangeFromArray(bufferRx, 0, bytesRead), new byte[] { U_EOT}))
{
   // EOT (End of transmission) received, break from while
   break;
}

ReSharper告诉我改变:new byte[]new[]

我的问题:最好的选择是什么?为什么我不应该声明变量?

4

2 回答 2

5

您误解了 resharper 在说什么。

据说该byte部分是多余的-编译器可以推断出不需要它。

最佳实践是使用您的团队正在使用的东西——使用最易读的东西。

在这种情况下,可以合理地预期这是一个字节数组(来自其他变量名称的上下文,可能还有字节常量) - 但如果您的队友不熟悉流,您可能希望保留byte声明以清楚起见.

于 2013-04-29T09:02:30.680 回答
2

Resharper 告诉您将数组定义为隐式类型数组(MSDN)

您可以创建一个隐式类型数组,其中数组实例的类型是从数组初始值设定项中指定的元素推断出来的。

您可以忽略它或采用它,这取决于您和您的团队对什么感到满意。

于 2013-04-29T09:04:42.030 回答