LINQ To Objectsを使用すべきでないのはいつですか?
この質問の逆が尋ねられましたが、L2Oを使用しない場合については説明しませんでした。
理由の 1 つは、必要なパフォーマンスが得られない場合です。の基になる実装にIEnumerable
インデクサーがない場合Last(), Skip(), ElementAt()
、 などを呼び出すと、O(Bad) パフォーマンスが発生する可能性があります。
私は他の人に同意します。
ただし、リストにもう 1 つ追加する必要があるのは、それが不適切なコーディング プラクティスを引き起こす可能性があるという事実です。単純な (そしてばかげているかもしれない) 例は、.Distinct()
メソッドを安易に使用することです。同じことが SQL にも当てはまります。ショートカットによって不適切なコードが生成されることがあり、それが未知の、非常に見つけにくいバグにつながる可能性があります。
これは何にでも起こりうることだと思いますが、ショートカットを使用すると、コーディングがうまくいかないことがあります。
私にとって、.Net 2.0に基づくプロジェクトでプログラミングするときに、そのような選択肢がない場合。
言い換えると、次の場合:
履歴書では、オブジェクトのグループを操作しない場合。また、もちろん、c#3.0以降をお持ちでない場合も同様です。