在最近的Dot Net Rocks podcast上,Jon Skeet提到可能濫用LINQ語法。人們看到了LINQ在瘋狂的事情上做了什麼樣的例子?什麼是你見過的最糟糕的LINQ語法濫用?
10
A
回答
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();
我懷疑會有濫用更多的情況下是這樣比濫用查詢表達式的能力,一方面是因爲很多開發者不會意識到濫用查詢表達式甚至會起作用:)
20
它必須是ray-tracer implemented in a single LINQ expression。所有在同一時間聰明,美麗,可怕!
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);
}
}
相關問題
- 1. 什麼是WPF最糟糕的問題?
- 2. MySQL JOIN濫用?它有多糟糕?
- 3. 你認爲什麼是最濫用的設計模式?
- 4. 快速排序最糟糕的情況是什麼?
- 5. 什麼是最糟糕的項目失敗?
- 6. 爲什麼Dijkstra最糟糕的情況是E + VlogV?
- 7. vim colorscheme糟糕的語法支持
- 8. 最糟糕的SQL有
- 9. 什麼是你見過的最棒的vs2008主題
- 10. 你見過的最有趣的設計模式是什麼?
- 11. 你見過的一些最好的開源項目是什麼?
- 12. 你遇到過的最令人印象深刻的LINQ語句是什麼?
- 13. Jquery糟糕的做法
- 14. ADO.NET - 糟糕的做法?
- 15. Max-Heapify最糟糕的情況 - 你如何獲得2n/3?
- 16. 什麼是您在生產中發生的最糟糕的數據庫事故?
- 17. make/gcc:「糟糕的構建」的可能原因是什麼?
- 18. 爲什麼重寫Plone的main_template.pt是一個糟糕的主意?
- 19. 爲什麼我的jQuery過渡很糟糕?
- 20. 爲什麼val + = someOtherValue如此糟糕?
- 21. 爲什麼GLUT如此糟糕?
- 22. 爲什麼.classname比element.classname糟糕
- 23. 什麼是大堆近似最糟糕的垃圾收集時間
- 24. 什麼是你見過的最好看的桌面應用程序UI?
- 25. 爲什麼這是一個糟糕的散列函數?
- 26. 爲什麼混淆JavaScript代碼是一種糟糕的風格?
- 27. 糟糕的表現
- 28. 是Erlang這個應用程序的糟糕語言嗎?
- 29. 爲什麼PLINQ會給LINQ查詢帶來更糟糕的性能?
- 30. 糟糕的GPU能否導致Flash遊戲的糟糕表現?
爲什麼有人會做Skip.First時他們可以做ElementAt? ;) – 2009-09-18 08:27:32
在硬幣的另一面,有人認爲查詢表達式是使用數據庫的唯一方式。 http://stackoverflow.com/q/16904331/34397 – SLaks 2013-06-03 19:33:21