我肯定缺少一些东西。我希望你能帮我。
代码:
public static IEnumerable<IGrouping<char, string>> GroupByProperty()
{
string[] words = {"blueberry", "chimpanzee", "abacus", "banana", "apple", "cheese"};
IEnumerable<IGrouping<char, string>> query = from w in words
group w by w[0] into g
select (letter = g.Key, word = g);
return query;
}
select方法抛出一个错误";你不能那样做"(字母,单词在当前上下文中不存在(。我想知道如何进行select以理解g.Key应该是我查询中的第一个参数(char(,g应该是第二个参数?
根据您的返回类型,您只需要选择g
。请使用下面的查询。
IEnumerable<IGrouping<char, string>> query = from w in words
group w by w[0] into g
select g;
如果您还需要选择密钥,则使用下面的
var query = from w in words
group w by w[0] into g
select new { letter = g.Key, word = g };
以上将以匿名类型返回两个属性,选择后需要新属性;同样,以上将返回IEnumerable<<anonmoystype: char, IGrouping<char, string>>
类型,而不是IEnumerable<IGrouping<char, string>>