Gruppe Liste der Objekte, die auf der Grundlage von Eigentum mit Linq?

Ich habe ein Objekt:

public class SiteInfo
        {
            public string Title { get; set; }
            public string URL { get; set; }
            public string Type { get; set; }      

        }

Dass ich mit um eine Liste zu erstellen:
var sites = new Liste();

        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.....

Jedoch, was ich gerne tun würde, ist die Gruppe der Websites Geben vor der Serialisierung von Ihnen. Ist das möglich mit LINQ oder eine andere Methode.

  • OrderBy, vielleicht
  • Ich würde anfangen, durch das betrachten einer Liste aller LINQ-Methoden und sehen, wenn irgendwelche von Ihnen schauen, wie Sie beziehen sich möglicherweise auf die Gruppierung der Funktionen. Wenn Sie das tun, GroupBy sollte hoffentlich stechen Sie. -1 für eindeutig setzen, keine Forschung.
InformationsquelleAutor BlueBird | 2013-02-01
Schreibe einen Kommentar