2008-10-29 28 views

回答

3

這裏是my own abuses--純粹是爲了嘲笑怪人之夜,並展示編譯器實際上對查詢表達式所做的事情。

可以說我"LINQ to Mandelbrot"有點濫用太:)

我特別的方式思考語法的濫用,但總有很多方法可以濫用LINQ的非常存在 - 做事「LINQ的方式」,當有更簡單的方法可用,而不使用LINQ。舉例來說,讓一個數組的n個元素:

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

我懷疑會有濫用更多的情況下是這樣比濫用查詢表達式的能力,一方面是因爲很多開發者不會意識到濫用查詢表達式甚至會起作用:)

+1

爲什麼有人會做Skip.First時他們可以做ElementAt? ;) – 2009-09-18 08:27:32

+0

在硬幣的另一面,有人認爲查詢表達式是使用數據庫的唯一方式。 http://stackoverflow.com/q/16904331/34397 – SLaks 2013-06-03 19:33:21

2

老實說,這一定是情況下,人們選擇了LINQ語法,其中的代碼,這樣做:

  • 比一個簡單的循環
  • 沒有提供性能正確性優勢相同或更長(可讀性/可維護性)在一個簡單的循環
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); 
} 
} 
相關問題