1. ホーム
  2. performance

[解決済み] forループの中で<と<=のどちらを使うべきか [閉じた状態].

2022-07-14 17:41:56

質問

ループを7回繰り返さなければならないとしたら、あなたは使いますか。

for (int i = 0; i < 7; i++)

または

for (int i = 0; i <= 6; i++)

2つの考慮事項があります。

  • 性能
  • 可読性

パフォーマンスのために、JavaかC#を想定しています。 less than" と "less or equal to" のどちらが使われるかは重要でしょうか? もし、別の言語に対する洞察があれば、それを示してください。

読みやすさのために、私は0ベースの配列を想定しています。

UPDです。 私が0ベースの配列について言及したことで、事態が混乱したかもしれません。私は配列の要素を繰り返し処理することについて話しているのではありません。 単に一般的なループです。

このマジックナンバーが何であるかを説明する定数 to を使用することについての良いポイントが以下にあります。つまり、もし私が " int NUMBER_OF_THINGS = 7 " とすると、" i <= NUMBER_OF_THINGS - 1 "だと変な感じになりますよね。

どのように解決するのですか?

1つ目は、より 慣用句 . 特に、これは (0 ベースの意味で) 反復の回数を表します。1 ベースのもの (例: JDBC、IRC) を使用する場合、私は <= を使いたくなることがあります。 ですから。

for (int i=0; i < count; i++) // For 0-based APIs

for (int i=1; i <= count; i++) // For 1-based APIs

実際のコードでは、パフォーマンスの差は取るに足らないほど小さいと予想されます。