如何获取驱动器的信息并使用AvalableFreeSpace
对其进行排序?这是我的代码:
List<DriveInfo> list = new List<DriveInfo>();
foreach (DriveInfo item in DriveInfo.GetDrives())
{
list.Add(item);
}
答案 0 :(得分:2)
使用LINQ OrderBy
- 根据键按升序对序列的元素进行排序。 (MSDN:http://msdn.microsoft.com/en-us/library/bb534966.aspx)
var sortedDrives = DriveInfo.GetDrives().OrderBy(l => l.AvailableFreeSpace).ToList();
答案 1 :(得分:2)
使用LinQ你可以这样排序。检查IsReady
可以防止例外。
var drives = DriveInfo.GetDrives()
.Where(x => x.IsReady)
.OrderBy(x => x.AvailableFreeSpace)
.ToList();
答案 2 :(得分:1)
您必须在使用之前检查IsReady
属性,否则可能会引发异常。然后你可以使用OrderBy
对序列进行排序。
var sortedDrives = DriveInfo.GetDrives()
.Where(x=> x.IsReady)
.OrderBy(x=> x.AvailableFreeSpace)
.ToList();