سلام دوستان:
من تو برنامه یه لیست باکس دارم که آیتم های تکراری توش هست، میخوام عناصر تکراری رو حذف کنم، باید چیکار کنم؟
سلام دوستان:
من تو برنامه یه لیست باکس دارم که آیتم های تکراری توش هست، میخوام عناصر تکراری رو حذف کنم، باید چیکار کنم؟
دوست عزيز ميتوني از يه حلقه استفاده كني
دستور بده تك تك آيتمها رو دربياره و بعد چك كنه كه از اون آيتم چندتا وجود داره اگه دو تا بود يكيشو پاك كنه !
برای راحتی کار از یک لیست پیوندی استفاده کن .
می تونی از کد زیر استفاده کنی .
{foreach ( object obj in listbox.Item )
if ( !arraylist1.Contains(obj)){
arraylist1.add(obj);
}}
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
اگه فرض کنیم ، Object های اضافه شده لیست باکس بصورت String هستن ، خیلی ساده :
List<string> data = new List<string>(listBox1.Items.Cast<string>());
data = data.Distinct().ToList<string>();
listBox1.Items.Clear();
listBox1.Items.AddRange(data.ToArray());
موفق باشید ./
من دستورات بالا را انجام دادم نشد
می خواهم تعداد زیادی رکورد (در حد هزار) رکورد از یک فایل متنی وارد لیست باکس کنم .این فایل متنی من ممکنه رکوردهای تکراری زیادی باشه من می خواهم یک جستجو انجام بدم تا این رکوردهای تکراری را از لیست باکسم حذف کنم.بهترین روش و الګوریتم چیه؟
دوست عزیز قبل از اضافه کردن خط به لیست بکس بررسی کنید خط در لیست وجود نداشته باشه
مشابه این
string[] f = File.ReadAllLines("C:\\Matn.txt");
foreach (string line in f)
{
if (listBox1.Items.IndexOf(line) < 0)
listBox1.Items.Add(line);
}
شما فقط باید یکی یکی چک کنید
اول لیست باک خلیه و یکی یکی ادد کن و در هر بار اد کردن باید به تعداد موجود در لیست باکس مقایسه کنی ور اگر با یکیش برابر شد مثلا یک برگردونی و بریک کنی تا اد نکه ودوباره برای گزینه بعدی چک کن
مشکلم حل مرسی از همه دوستان .این کد الان داره جول میده
StreamReader reader = new StreamReader(file_name);
string[] f = File.ReadAllLines(file_name);
foreach (string line in f)
{
if(!listBox1.Items.Contains(line))
listBox1.Items.Add(line);
}
خدا رو شكر كلاغه به خونش رسيد
اين بندگان خدا هم كه از اول همين رو گفتن