2016-05-13 68 views
0

我试图将DriverInfo添加到列表视图中,但得到错误。投掷异常无法从'System.IO.DriveInfo'转换为'字符串'

这里是我的代码是我曾尝试

using System.IO; 
protected void Page_Load(object sender, EventArgs e) 
    { 
     foreach(DriveInfo di in DriveInfo.GetDrives()) 
     { 
      lstdrive.Items.Add(di); 
     } 
    } 

,误差

错误参数1:无法从 'System.IO.DriveInfo' 到 '串' 转换

+1

显示所有相关的代码,例如你在哪里定义和分配'lstdrive'。 –

回答

2

DriveInfo di转换为字符串

using System.IO; 
protected void Page_Load(object sender, EventArgs e) 
    { 
     foreach(DriveInfo di in DriveInfo.GetDrives()) 
     { 
      lstdrive.Items.Add(di.ToString()); 
     } 
    } 
+0

DriveInfo drive =(DriveInfo)lstdrive.SelectedItem; (DriveInfo diInfo in drive.RootDirectory.GetDirectories()) lstfolder.Items.Add(diInfo.ToString()); } –

+0

你想实现什么@kumbhanibhavesh? – Mostafiz

1

您还没有显示lstdrive的声明,但根据错误,我猜测它是List<string>。因此,当您尝试使用di时,无法添加System.IO.DriveInfo实例。通过di.ToString()di转换为字符串,或将lstdrive声明更改为List<System.IO.DriveInfo>

1

我要去承担lstdriveListBox

你会想挑选您想要在列表框中显示迪对象的属性。据推测这将是名称

protected void Page_Load(object sender, EventArgs e) 
    { 
     foreach(DriveInfo di in DriveInfo.GetDrives()) 
     { 
      lstdrive.Items.Add(di.Name); 
     } 
    } 

注意,你也可以使用di.ToString()因为DriveInfo类覆盖了ToString()方法发出Name财产Mostafizur拉赫曼显示了他的答案。

以下链接包含可用于DriveInfo对象的属性的链接。 https://msdn.microsoft.com/en-us/library/system.io.driveinfo_properties(v=vs.110).aspx

如果你需要如何使用DriveInfo类其他例子,见https://msdn.microsoft.com/en-us/library/system.io.driveinfo.getdrives(v=vs.110).aspx

相关问题