我在linq中有一個查詢,但我無法理解它,因爲我沒有寫這個查詢。查詢低於無法理解linq查詢
string[] arr1 = new string[]
{
"Pakistan:4,India:3,USA:2,Iran:1,UK:0",
"Pakistan:4,India:3,USA:2,Iran:1,UK:0",
"India:4,USA:3,Iran:2,UK:1,Pakistan:0"
};
var count = arr1
.SelectMany(s => s.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
.GroupBy(s => s.Split(':')[0], s => s.Split(':')[1])
.ToDictionary(g => g.Key,
g =>
{
var items = g.Distinct();
var result = new Dictionary<String, int>();
foreach (var item in items)
result[item] = g.Count(gitem => gitem == item);
return result;
});
// print the result
foreach (var country in count.Keys)
{
foreach (var ocurrence in count[country].Keys)
{
Console.WriteLine("{0} : {1} = {2}", country, ocurrence, count[country][ocurrence]);
}
}
目的本查詢
執行此查詢來實現這一點:我們想知道,巴基斯坦多少次帶有「0」,多少次與「1 ',2,3,4,我們希望爲所有國家獲取這些信息。請任何人都可以定義它步步.Thanks
注:此查詢被編譯,沒有錯誤且正常工作
您是否嘗試閱讀每種方法的[documentation](http://msdn.microsoft.com/en-us/library/system.linq.enumerable.aspx)? – 2012-07-17 04:43:42
實際上,我問了一個關於堆棧溢出的問題,有人給了我這個答案,但我無法理解這一點。我閱讀文檔,但沒有得到任何幫助我的情況 – user1441945 2012-07-17 04:53:46
你以前使用過Linq查詢嗎? – NoviceProgrammer 2012-07-17 04:56:15