PDA

View Full Version : سوال: Foreach



jaykob
پنج شنبه 22 بهمن 1388, 09:25 صبح
سلام دوستان :
من برنامه ای نوشتم که توسط حلقه foreach لیست دایرکنوری های هر پارتیشن رو نشون می ده مشکلی که من دارم اینه که می خوام مثلا بعد از کلیک بر روی پارتیشن c اگر کسی دوباره بر روی e کلیک کرد لیست دایرکتوری های قبلی پاک بشه و از پارتیشن جدید اضافه بشه برای list box گمونم به این شکل می شه lstdata.items.clear(); اما یا من پارامتر نادرستی می فرستم یا اینکه بد استفاده می کنم ممنون می شم کمک کنید یک توضیح کاملی هم در مورد استفاده از foreach در چارچوب .NET رو هم بگید ممنون می شم ...



namespace Directory
{
public partial class frmdirectory : Form
{
public frmdirectory()
{
InitializeComponent();
}

private void btnc_Click(object sender, EventArgs e)
{

foreach (string strdir in System.IO.Directory.GetDirectories("c:\\"))
{
lstdata.Items.Add(strdir);
}
}

private void btnd_Click(object sender, EventArgs e)
{

foreach (string strdir in System.IO.Directory.GetDirectories("d:\\"))
{
lstdata.Items.Add(strdir);
}
}

private void btne_Click(object sender, EventArgs e)
{

foreach (string strdir in System.IO.Directory.GetDirectories("e:\\"))
{
lstdata.Items.Add(strdir);
}
}

private void btnf_Click(object sender, EventArgs e)
{

foreach (string strdir in System.IO.Directory.GetDirectories("f:\\"))
{
lstdata.Items.Add(strdir);
}
}

private void btng_Click(object sender, EventArgs e)
{

foreach (string strdir in System.IO.Directory.GetDirectories("g:\\"))
{
lstdata.Items.Add(strdir);
}
}

private void btnh_Click(object sender, EventArgs e)
{

foreach (string strdir in System.IO.Directory.GetDirectories("h:\\"))
{
lstdata.Items.Add(strdir);
}
}
}
}

jaykob
پنج شنبه 22 بهمن 1388, 09:46 صبح
دوستان خودم برنامه رو درست کردم بایستی حالت clear رو قبل از foreach می زاشتم که به اشتباه داخل foreach گذاشته بودم . فقط در مورد base حلقه foreach به صورت کامل و ساده کسی توضیح بده ممنون می شم :



namespace Directory
{
public partial class frmdirectory : Form
{
public frmdirectory()
{
InitializeComponent();
}

private void btnc_Click(object sender, EventArgs e)
{
lstdata.Items.Clear();
foreach (string strdir in System.IO.Directory.GetDirectories("c:\\"))
{

lstdata.Items.Add(strdir);
}
}

private void btnd_Click(object sender, EventArgs e)
{
lstdata.Items.Clear();
foreach (string strdir in System.IO.Directory.GetDirectories("d:\\"))
{

lstdata.Items.Add(strdir);
}
}

private void btne_Click(object sender, EventArgs e)
{
lstdata.Items.Clear();
foreach (string strdir in System.IO.Directory.GetDirectories("e:\\"))
{
lstdata.Items.Add(strdir);
}
}

private void btnf_Click(object sender, EventArgs e)
{
lstdata.Items.Clear();
foreach (string strdir in System.IO.Directory.GetDirectories("f:\\"))
{
lstdata.Items.Add(strdir);
}
}

private void btng_Click(object sender, EventArgs e)
{
lstdata.Items.Clear();
foreach (string strdir in System.IO.Directory.GetDirectories("g:\\"))
{
lstdata.Items.Add(strdir);
}
}

private void btnh_Click(object sender, EventArgs e)
{
lstdata.Items.Clear();
foreach (string strdir in System.IO.Directory.GetDirectories("h:\\"))
{
lstdata.Items.Add(strdir);
}
}
}
}

مهدی رحیم زاده
پنج شنبه 22 بهمن 1388, 11:01 صبح
ضمن عرض تشکر از جنابعالی که بعد از رسیدن به جواب اون رو توی این بخش مطرح کردین.
در انتخاب عناوین هم دقت لازم رو به خرج بدین تا پست های شما حذف نشن .
با تشکر