سلام یه لیست باکس دارم که توش اعداد 1 تا 9 هست و هر عدد چندبار تکرار شده.حالا میخوام تو این لیست باکس شماره بزرگترین و کوچکترین آیتم که برابر عدد 7 رو پیدا کنم.ممنون میشم کمک کنید
یعنی لیست اعدادی که کوچیکتر و بزرگتر از عدد 7 ان؟
درود
بسیار سادست
[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 یا جور دیگه ای بشه پیداش کرد
LINQ:
[CSHARP]listBox1.Items
.Select((item, index) => new {item, index})
.Where(ix => ix.item == searchFor)
.Select(ix => ix.index);[/CSHARP]
ممنون.اما کد اول شماره آیتمهای هر 3 تا B رو نشون میده من فقط اول و آخری میخوام که بعد از هم کمشون(تفریق) کنم :|
دومی رو هم نفهمیدم :|
[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:
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!