我總是對這個東西感到困惑。C#編譯器看到Fluent語法或查詢表達式?
我有這個疑問:
string[] names = { "Tom", "Dick", "Harry", "Mary", "Jay" };
IEnumerable<string> query = names.Where(n => n.Contains("a"))
.OrderBy(n => n.Length)
.Select(n => n.ToUpper());
我在一個book,上面寫着:
編譯器通過翻譯它處理查詢表達式爲 流利的語法
但是在Reflector中我看到了相反的結果:
這不是流利的語法。
那麼編譯器看到了什麼?
反射器顯示你希望你看到什麼。 – user7116 2012-03-18 21:18:02
你應該用反彙編看了;) – 2012-03-18 21:19:29
@sixlettervariables所以'編譯器通過翻譯成通順syntax.'它意味着IL是建基於良好的語法處理查詢表達式? – 2012-03-18 21:22:36