填充可用于映射的驱动器列表

本文关键字:驱动器 列表 映射 用于 填充 | 更新日期: 2023-09-27 17:49:36

我的应用程序需要用可用于映射的驱动器号列表填充一个组合框。DriveInfo类为我提供系统中所有驱动器名称的列表。我想知道是否有一个api暴露了可用于映射的驱动器列表。

填充可用于映射的驱动器列表

下面的部分将给出可用的驱动器符列表,用于映射

Enumerable.Range('A', 'Z' - 'A' + 1).Select(i => (Char)i +":")
          .Except(DriveInfo.GetDrives().Select(s=>s.Name.Replace("''","")))

下段返回已使用的驱动器列表。

DriveInfo.GetDrives().Select(s=>s.Name.Replace("''",""))  

考虑到(可用的)驱动器号只是字母表中的所有字母,您可以不这样做吗?

    public char[] getAvailableDriveLetters()
    {
        List<char> availableDriveLetters = new List<char>() { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
        DriveInfo[] drives = DriveInfo.GetDrives();
        for (int i = 0; i < drives.Length; i++)
        {
            availableDriveLetters.Remove((drives[i].Name).ToLower()[0]);
        }
        return availableDriveLetters.ToArray();
    }

然后availableDriveLetters变量将包含剩余的字母用于您的映射驱动器-你也可以排除常用的字母(例如- 'a', 'b','c', 'd'),如果你想在初始化可用字母列表时