如何使用LINQ以降序获取数据

Sum*_*sia 0 c# linq

我有以下LINQ查询,我希望数据按totalPopulation降序排列.

var query = from u in xdoc.Root.Elements(ns + "DetailedUtility")
            select new
            {
                UtilityId = (int)u.Attribute("UtilityId"),
                TotalPopulation = u.Elements(ns + "City")
                                   .Sum(c => (int)c.Attribute("Population"))
            };
Run Code Online (Sandbox Code Playgroud)

如何按降序获取列表.请帮忙

Mar*_*zek 5

var query = (from u in xdoc.Root.Elements(ns + "DetailedUtility")
            select new
            {
                UtilityId = (int)u.Attribute("UtilityId"),
                TotalPopulation = u.Elements(ns + "City")
                                   .Sum(c => (int)c.Attribute("Population"))
            }).OrderByDescending(x => x.TotalPopulation);
Run Code Online (Sandbox Code Playgroud)

要么

var query = from u in xdoc.Root.Elements(ns + "DetailedUtility")
            let population = u.Elements(ns + "City")
                              .Sum(c => (int)c.Attribute("Population"))
            orderby population descending
            select new
            {
                UtilityId = (int)u.Attribute("UtilityId"),
                TotalPopulation = population
            };
Run Code Online (Sandbox Code Playgroud)