پیدا کردن نام درایو های removable disk
چجوری میتونم نام درایو USBهایی که به کامپیوتر وصل هستند رو پیدا کرد؟
من خودم یه کد پیدا کردم که تا یه جاهاییش جواب میده اما نمیدونم داخل if چی بنویسم؟؟؟
این اون کدیه که من پیدا کردم:
DriveInfo[] ListDrives = DriveInfo.GetDrives();
foreach (DriveInfo Drive in ListDrives)
{
if (Drive.DriveType == DriveType.Removable)
{
//do your processing here
}
}
میخوام به جای اون قسمت کامنت یه کدی بنویسم که نام درایو هایی که USB هستند رو داخل تکست باکس نشون بده مثلا \:F یا \:K
نقل قول: پیدا کردن نام درایو های removable disk
سلام
بفرمائید با استفاده از Linq :
MessageBox.Show((from drive in System.IO.DriveInfo.GetDrives() where drive.DriveType == System.IO.DriveType.Removable select drive.Name).First());
کد خودتون هم کار میده :
using System.IO;
private void button1_Click(object sender, EventArgs e)
{
DriveInfo[] ListDrives = DriveInfo.GetDrives();
foreach (DriveInfo Drive in ListDrives)
{
if (Drive.DriveType == DriveType.Removable)
{
listBox1.Items.Add(Drive.ToString());
}
}
}
موفق باشی
نقل قول: پیدا کردن نام درایو های removable disk
با سلام
نیازی نیست اینقدر کدتون رو بپیچونید. میتونید به این روش و با استفاده از Linq این کارو بکنید :
var removablePath = DriveInfo.GetDrives().SingleOrDefault(d => d.DriveType == DriveType.Removable);
if (removablePath != null)
textBox1.Text =
removablePath.Name;
موفق باشید
ویرایش : کدی که در بالا جناب danialafshari گذاشتن هم درسته به شرطی که به این صورت تغییرش بدید :
MessageBox.Show((
from drive in DriveInfo.GetDrives()
where drive.DriveType == DriveType.Removable
select drive.Name
).FirstOrDefault());