C# 如何在iGroup<;中将剩余字母添加到此查询中;字符串,主题>;
我想根据单词的第一个字母表对项目进行分组,下面的查询工作正常。但我想修改它,并包括该分组的所有字母,而不管该项是否存在。我怎样才能解决这个问题 查询是:-C# 如何在iGroup<;中将剩余字母添加到此查询中;字符串,主题>;,c#,linq,C#,Linq,我想根据单词的第一个字母表对项目进行分组,下面的查询工作正常。但我想修改它,并包括该分组的所有字母,而不管该项是否存在。我怎样才能解决这个问题 查询是:- var qry = from row in item.Topics group row by row.Title[0].ToString().ToLower() into groupedItems orderby gro
var qry = from row in item.Topics
group row by row.Title[0].ToString().ToLower() into groupedItems
orderby groupedItems.Key
select new Group<Topic>(groupedItems.Key, groupedItems);
var qry=来自item.Topics中的行
按行分组。标题[0]。将字符串().ToLower()分组到groupedItems中
orderby groupedItems.Key
选择新组(groupedItems.Key,groupedItems);
听起来像是要对范围a、b、c、,。。。z
有几种方法可以做到这一点。例如,您可以尝试:
var qry = from row in "LifeLikeThis"
group row by row.ToString().ToLower()
into groupedItems
orderby groupedItems.Key
select new {Key = groupedItems.Key, Items = groupedItems};
var alphaQry = from character in "abcdefghijklmnopqrstuvwxyz"
join grp in qry on character.ToString() equals grp.Key into joined
from joinGroup in joined.DefaultIfEmpty()
select new {Key = character.ToString(), Items = joinGroup == null ? null : joinGroup.Items};
其中的关键部分是
连接的.DefaultIfEmpty()
。有关外部联接的更多信息,请参见101个示例-能否提供更多详细信息,也许可以举一个示例说明您拥有什么和需要什么。