C# Revit二次开发 用 LINQ 查询来取出字典中值最大的键

1个放样列表sweeps,1个放样对应的体积,构成字典,从字典中取出体积最大的放样sweep

 List sweeps = new FilteredElementCollector(doc).WhereElementIsNotElementType()
                .OfClass(typeof(Sweep)).Cast().ToList();
 List sweepvolumns = new List();
            foreach (Sweep sweep in sweeps)
            {
                Solid solid = SolidExtension.GetSolids(sweep).FirstOrDefault();
                double sweepvolumn = solid.Volume;
                sweepvolumns.Add(sweepvolumn);
            }
Dictionary dict = new Dictionary< Sweep,double> ();
            for (int i = 0; i < sweeps.Count; i++)
            {
                dict.Add(sweeps[i],sweepvolumns[i]);
            }


//用 LINQ 查询来取出字典中值最大的键
Sweep sweepMax = dict.Aggregate((x,y) => x.Value > y.Value ? x:y ).Key;

你可能感兴趣的:(学习历程,c#,linq)