11

最近のDot Net Rocks ポッドキャストで、Jon Skeet は LINQ 構文の乱用の可能性について言及しました。LINQ を使用してクレイジーなことが行われている例は何ですか?

4

4 に答える 4

21

単一の LINQ 式で実装されたレイ トレーサーである必要があります。賢く、美しく、そして怖い!

于 2008-10-29T09:59:13.577 に答える
4

ここに私自身の乱用があります- 純粋にオタクの夜を笑い飛ばし、コンパイラがクエリ式で実際に何をするかを示すためです。

おそらく、私の「LINQ to Mandelbrot」も少し乱暴です:)

ちなみに、私は特に構文の悪用を考えていましたが、LINQ の存在そのものを悪用する方法は常にたくさんあります。LINQ を使用せずに利用できるより単純なアプローチがある場合は、「LINQ の方法」を実行します。たとえばn、配列の th 要素に到達するには:

// Sensible (we know that people implements IList<Person>)
Person x = people[10];
// Insane
Person y = people.Skip(9).First();

多くの開発者がクエリ式の悪用が機能することさえ認識していないため、クエリ式の力を悪用するよりも、このような悪用のケースが増えると思います:)

于 2008-10-29T09:58:55.997 に答える
3

正直なところ、それは人々がそれを行うためのコードでLINQ構文を選択した場合でなければなりません:

  • 単純なループと同じかそれより長かった
  • 単純なループに比べて、パフォーマンス正確性の利点(読みやすさ/保守性)は提供されませんでした
于 2009-08-05T18:39:54.390 に答える
2

私が今まで見た中で「最高」のものの 1 つは、 thedailywtf.comのものです。

public string LastSixDigits
{
 get
 {
   if (string.IsNullOrWhiteSpace(this.Number) || this.Number.Length < 6)
     return string.Empty;
   return this.Number.Reverse().Take(6).Reverse().Aggregate(string.Empty, (s, c) => s += c);
 }
}
于 2014-07-01T13:31:33.337 に答える