بزرگترین و کوچکترین شماره یک آیتم تکراری در لیست باکس

#C

توسط exe در 4 سال پیش
0 1.8k 7 4 سال پیش
exemicrosoftmanalideveloper
0

سلام یه لیست باکس دارم که توش اعداد 1 تا 9 هست و هر عدد چندبار تکرار شده.حالا میخوام تو این لیست باکس شماره بزرگترین و کوچکترین آیتم که برابر عدد 7 رو پیدا کنم.ممنون میشم کمک کنید

0

یعنی لیست اعدادی که کوچیکتر و بزرگتر از عدد 7 ان؟

0

> یعنی لیست اعدادی که کوچیکتر و بزرگتر از عدد 7 ان؟
سلام.نه.بطور مثال تو لیست باکس زیر من 3 تا آیتم B دارم.حالا میخوام شماره آیتم اولین B و آخرین B رو پیدا کنم

0

درود بسیار سادست [CSHARP] string searchfor = "B"; for (int i = 0; i < listBox1.Items.Count; i++) { listBox1.SelectedIndex=i; if (searchfor == listBox1.Text) Console.WriteLine(listBox1.SelectedIndex); } [/CSHARP]

0

> درود بسیار سادست [CSHARP] string searchfor = "B"; for (int i = 0; i < listBox1.Items.Count; i++) { listBox1.SelectedIndex=i; if (searchfor == listBox1.Text) Console.WriteLine(listBox1.SelectedIndex); } [/CSHARP]

ممنون از پاسختون اما این اون چیزی که من میخوام نیست.الان من میخوام شماره آیتم B اولی و B آخری رو بهم بده اما معلوم نمیشه بعدشم میخواستم از حلقه FOR و FOREACH استفاده نکنم.گفتم شاید با LINQ یا جور دیگه ای بشه پیداش کرد

0

> ممنون از پاسختون اما این اون چیزی که من میخوام نیست.الان من میخوام شماره آیتم B اولی و B آخری رو بهم بده اما معلوم نمیشه بعدشم میخواستم از حلقه FOR و FOREACH استفاده نکنم.گفتم شاید با LINQ یا جور دیگه ای بشه پیداش کرد
دقیقا همون کاری که خواستید انجام میده دیگه! جواب تو قسمت Output نمایش داده میشه چون از console.writeline استفاده کردم میتونی از messagebox استفاده کنی: [CSHARP] string searchfor = "B"; for (int i = 0; i < listBox1.Items.Count; i++) { listBox1.SelectedIndex = i; if (searchfor == listBox1.Text) MessageBox.Show(listBox1.SelectedIndex.ToString()); } [/CSHARP]

LINQ:

[CSHARP]listBox1.Items .Select((item, index) => new {item, index}) .Where(ix => ix.item == searchFor) .Select(ix => ix.index);[/CSHARP]

آخرین ویرایش: 29-04-2014 ساعت 16:52، توسط Microsoft Man
0

ممنون.اما کد اول شماره آیتمهای هر 3 تا B رو نشون میده من فقط اول و آخری میخوام که بعد از هم کمشون(تفریق) کنم :| دومی رو هم نفهمیدم :|

0

[CSHARP] string searchfor = "b"; int first = 0, last = 0;

        for (int i = 0; i < listBox1.Items.Count; i++)
        {
            listBox1.SelectedIndex = i;
            if (searchfor == listBox1.Text)
            {
                if (first == 0)
                    first = listBox1.SelectedIndex;
                last = listBox1.SelectedIndex;
            }

        }
        MessageBox.Show("FIRST:" + first.ToString() + "  LAST:" + last.ToString());

[/CSHARP]

دومی linq بود دیگه :mellowsmiley:

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.

لطفا ابتدا لاگین کنید