爲什麼在下面的linq語句中有兩個不同的變量(r和x)?爲什麼在這個linq語句中有兩個不同的變量?
var letters = new Dictionary<int, string>();
letters.Add(1, "a");
letters.Add(2, "b");
letters.Add(3, "c");
letters.Add(4, "d");
letters.Add(5, "b");
....
Dictionary<string,List<int>> mydict =
letters.GroupBy(r=> r.Value)
.ToDictionary(x=> x.Key, x=> x.Select(r=> r.Key).ToList());
,爲什麼 「的GroupBy」 和 「選擇」 條款使用相同的變量([R)?
謝謝阿隆。我知道了。 :) – burhan
Aron,所以我們不能用'x => x'替換最後一個'r => r'。導致xs會重疊。對? – burhan
是的。從技術上講,它的範圍內已經存在一個名爲'x'的變量/參數。所以你會定義另一個同名的變量/參數。在*有些情況下,它是合法的,但它從來不是一個好主意。 – Aron