0

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

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

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

3 回答 3

2

使用 LINQ OrderBy- 根据键按升序对序列的元素进行排序。(MSDN:http: //msdn.microsoft.com/en-us/library/bb534966.aspx

var sortedDrives = DriveInfo.GetDrives().OrderBy(l => l.AvailableFreeSpace).ToList();
于 2013-10-29T19:00:32.227 回答
2

使用 LinQ,您可以像这样对其进行排序。检查IsReady将防止异常。

var drives = DriveInfo.GetDrives()
                      .Where(x => x.IsReady)
                      .OrderBy(x => x.AvailableFreeSpace)
                      .ToList();
于 2013-10-29T19:01:22.220 回答
1

您必须IsReady在使用之前检查属性,否则可能会引发异常。然后您可以使用OrderBy对序列进行排序。

var sortedDrives = DriveInfo.GetDrives()
                            .Where(x=> x.IsReady)
                            .OrderBy(x=> x.AvailableFreeSpace)
                            .ToList();
于 2013-10-29T19:04:00.080 回答