protected List<XDriver> SortDrivers() { var driverCounters = new List<DriverCounter>(); foreach (var driver in XManager.Drivers) { var driverCounter = new DriverCounter() { Driver = driver, Count = 0 }; driverCounters.Add(driverCounter); } foreach (var device in XManager.Devices) { var driverCounter = driverCounters.FirstOrDefault(x => x.Driver == device.Driver); if (driverCounter != null) { driverCounter.Count++; } } var sortedDrivers = from DriverCounter driverCounter in driverCounters orderby driverCounter.Count descending select driverCounter.Driver; return sortedDrivers.ToList(); }
public List<GKDriver> SortDrivers() { var driverCounters = new List<DriverCounter>(); foreach (var driver in GKManager.Drivers) { var driverCounter = new DriverCounter() { Driver = driver, Count = 0 }; driverCounters.Add(driverCounter); } foreach (var device in GKManager.Devices) { var driverCounter = driverCounters.FirstOrDefault(x => x.Driver == device.Driver); if (driverCounter != null) { driverCounter.Count++; } } var sortedDrivers = driverCounters.OrderByDescending(x => x.Count).Select(x => x.Driver); return sortedDrivers.ToList(); }