1

LINQ To Objectsを使用すべきでないのはいつですか?

この質問のが尋ねられましたが、L2Oを使用しない場合については説明しませんでした。

4

4 に答える 4

1

理由の 1 つは、必要なパフォーマンスが得られない場合です。の基になる実装にIEnumerableインデクサーがない場合Last(), Skip(), ElementAt()、 などを呼び出すと、O(Bad) パフォーマンスが発生する可能性があります。

于 2009-09-10T13:39:42.913 に答える
1

私は他の人に同意します。

  • いいえ 3.0+
  • パフォーマンスは大きな問題ではない

ただし、リストにもう 1 つ追加する必要があるのは、それが不適切なコーディング プラクティスを引き起こす可能性があるという事実です。単純な (そしてばかげているかもしれない) 例は、.Distinct()メソッドを安易に使用することです。同じことが SQL にも当てはまります。ショートカットによって不適切なコードが生成されることがあり、それが未知の、非常に見つけにくいバグにつながる可能性があります。

これは何にでも起こりうることだと思いますが、ショートカットを使用すると、コーディングがうまくいかないことがあります。

于 2009-09-10T13:50:12.047 に答える
0

私にとって、.Net 2.0に基づくプロジェクトでプログラミングするときに、そのような選択肢がない場合。

于 2009-09-10T13:33:38.610 に答える
0

言い換えると、次の場合:

  • 一部のデータ項目のコレクションがありません
  • 元のコレクションから形成された別のコレクションは必要ありませんが、何らかの変換またはフィルタリングを行った後です。これには、並べ替え、射影、述語の適用、グループ化などがあります。

履歴書では、オブジェクトのグループを操作しない場合。また、もちろん、c#3.0以降をお持ちでない場合も同様です。

于 2009-09-10T13:34:05.627 に答える