我用下面的代碼獲取邏輯驅動器:獲取邏輯驅動器
string[] strDrives = Environment.GetLogicalDrives();
但是當我想通過它來迭代,發生異常時,與消息:
Drive Not Ready
我怎樣才能準備就緒驅動器?
我用下面的代碼獲取邏輯驅動器:獲取邏輯驅動器
string[] strDrives = Environment.GetLogicalDrives();
但是當我想通過它來迭代,發生異常時,與消息:
Drive Not Ready
我怎樣才能準備就緒驅動器?
使用DriveInfo確定驅動器是否準備就緒。
foreach (var oneDrive in strDrives)
{
var drive = new DriveInfo(oneDrive)
if (drive.IsReady)
{
// Do something with the drive...
}
}
這也可以,當然可以使用LINQ實現:
IEnumerable<DriveInfo> readyDrives = Environment.GetLogicalDrives()
.Select(s => new DriveInfo(s))
.Where(di => di.IsReady);
我傾向於做:
List<DriveInfo> driveInfo = new List<DriveInfo>(from drive in DriveInfo.GetDrives() where drive.IsReady select drive);
+1 AH-這比我的好得多的解決方案! –