1个放样列表sweeps,1个放样对应的体积,构成字典,从字典中取出体积最大的放样sweep
List<Sweep> sweeps = new FilteredElementCollector(doc).WhereElementIsNotElementType()
.OfClass(typeof(Sweep)).Cast<Sweep>().ToList();
List<double> sweepvolumns = new List<double>();
foreach (Sweep sweep in sweeps)
{
Solid solid = SolidExtension.GetSolids(sweep).FirstOrDefault();
double sweepvolumn = solid.Volume;
sweepvolumns.Add(sweepvolumn);
}
Dictionary<Sweep,double> 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;