获取云端硬盘的信息和排序

时间:2013-10-29 18:57:53

标签: c# visual-studio-2010

如何获取驱动器的信息并使用AvalableFreeSpace对其进行排序?这是我的代码:

List<DriveInfo> list = new List<DriveInfo>();

foreach (DriveInfo item in DriveInfo.GetDrives())
{
    list.Add(item);
}

3 个答案:

答案 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();