【发布时间】:2013-02-01 19:59:22
【问题描述】:
我有一个对象:
public class SiteInfo
{
public string Title { get; set; }
public string URL { get; set; }
public string Type { get; set; }
}
我用来创建列表的: var sites = new List();
foreach (SPWeb site in web.GetSubwebsForCurrentUser())
{
string sitetype = getConfigurationKey(site, "siteType");
//If sites have a site type then add to list
if (sitetype != "*ERROR*" && sitetype != "*KEYNOTFOUND*")
{
SiteInfo s = new SiteInfo();
s.Title = site.Title;
s.URL = site.Url;
s.Type = sitetype;
sites.Add(s);
}
}
//sort list by type
sites.Sort((x, y) => string.Compare(x.Type, y.Type));
// serialize and send..
JavaScriptSerializer serializer = new JavaScriptSerializer();
StringBuilder sbJsonResults = new StringBuilder();
serializer.Serialize(sites, sbJsonResults);
etc.....
但是,我想做的是在序列化站点之前按类型对站点进行分组。这可能使用 LINQ 或其他方法吗?
【问题讨论】:
-
我会首先查看所有 LINQ 方法的列表,看看它们中的任何一个看起来是否可能与分组功能有关。如果你这样做,
GroupBy应该会在你眼中脱颖而出。 -1 表示没有投入任何研究工作。
标签: c# .net list linq group-by