如何获得有关Linux(Mono)上可移动驱动器的信息?

时间:2018-12-04 07:13:48

标签: c# linux mono monodevelop removable-drive

我需要确定该驱动器在Linux系统上是可移动的。我正在使用用C#编写的简单程序。在Win上,一切正常。但是,当我尝试在Ubuntu上通过Mono运行应用程序时遇到了麻烦,该应用程序无法识别可移动驱动器。我的第一个例子:

var drives = DriveInfo.GetDrives()
            .Where(drive => drive.IsReady && drive.DriveType == DriveType.Removable);
        foreach (var drive in drives)
        {
            Console.WriteLine(drive.Name);
            Console.WriteLine(drive.DriveFormat);
            Console.WriteLine("{0:0.##}", drive.TotalSize / 1073741824.00);
        }

在Win上效果很好:

enter image description here

我的第二个示例是硬编码写入装载路径f.e:

 var drives = DriveInfo.GetDrives()
            .Where(drive => drive.IsReady && drive.Name == "/media/usb0"); // from usb0 to usb4 
        foreach (var drive in drives)
        {
            Console.WriteLine(drive.Name);
            Console.WriteLine(drive.DriveFormat);
            Console.WriteLine("{0:0.##}", drive.TotalSize / 1073741824.00);
        }

它对我有用:

enter image description here

但是我认为硬编码路径是编程的非常不好的方法。 还有其他方法可以使用Mono在Linux上获得可移动驱动器吗?有什么建议吗?

0 个答案:

没有答案