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 は、配列をImplicitly Typed Array(MSDN)として定義するように指示しています。

配列インスタンスの型が配列初期化子で指定された要素から推測される、暗黙的に型指定された配列を作成できます。

無視するか採用するかは、あなたとあなたのチームが何に慣れているかによって異なります。

于 2013-04-29T09:04:42.030 に答える