从LINQ语句C#

时间:2019-02-25 20:35:45

标签: c# winforms linq

您好,我无法从我的group语句中获取正确的值。我试图在此处获得按另一个值分组的值:

var allGuilds = Player.dictGuilds;


var guildTypeRoster =
    from g in allGuilds
    where g.Value.GuildType.ToString() == CBGuildType.SelectedItem.ToString()
    orderby g.Value.GuildName
    group g.Value.GuildServer.ToString() by g.Value.GuildName;

因此,基本上,我正在尝试将公会中的名称按所在的服务器分组。尝试同时输出我要分组的服务器和此处的名称时,我遇到了问题:

foreach (var pair in guildTypeRoster)
{
    OutputBox.AppendText(pair.Key + "\n");
}

我只能获取值的键,该值是我分组的名称。我正在尝试同时显示服务器并同时显示两个服务器,但似乎无法找到一种方法。如果有人可以帮助,那就太好了。

1 个答案:

答案 0 :(得分:1)

您将要遍历每个组的记录,因此需要一个附加循环。

foreach (var pair in guildTypeRoster)
{
    foreach(var value in pair) 
    {
        OutputBox.AppendText(pair.Key + ": " + value.GuildName + "\n");
    }
}