سلام.
چطوری میتونم تعداد آیتم های یه list box رو بشمارم. باید بتونم تو برنامم تعدادشون رو داشته باشم تا به ازای هر کدوم یه سری دستورات اجرا بشن.
ممنونم.
سلام.
چطوری میتونم تعداد آیتم های یه list box رو بشمارم. باید بتونم تو برنامم تعدادشون رو داشته باشم تا به ازای هر کدوم یه سری دستورات اجرا بشن.
ممنونم.
آخرین ویرایش به وسیله farhaneh : جمعه 13 شهریور 1388 در 01:30 صبح
سلام دوست عزيز
البته جوابم شايد كمي غلط باشه ولي در اولين فرصت چك ميكنم تا خودم هم مطمئن بشم
2 تا راه داري:
1. ميتوني از items.count ليستت استفاده كني (count داره ولي جاش رو شايد اشتباه گفته باشم)
2. ميتوني با يه foreachهر بلايي كه خواستي سرشون بياري
foreach listItem item in listbox1
{
//to do
}
label1.Text = listBox1.Items.Count.ToString();
ممنونم. منم اولین روشی که به ذهنم رسید استفاده از for each بود که ارور میده که این دستور رو با listbox نمیتونی استفاده کنی!!
برای list box هم متد count وجود نداره!!!
عزيز جان من چك كردم داريم يا دارم
listbox1.Items.Count
براي FOREACH هم هموني كه نوشتم با كمي تغيير كار ميكنه:
foreach (string item in listBox1.Items)
{
MessageBox.Show(item.ToString());
}
راستش اگه شما اون قسمت كدتون رو بزارين يا كمي بيشتر توضيح بدين دوستان ديگه هم ميتونن كمك كنن
شايد من درست نفهميده باشم.
سلام ، بنظرم دو روش زیر رو واسه اینکار میشه ارائه داد که اولی بهتره :
1) استفاده از متود count
listBox1.Items.Count
2) با حلقه Foreach :
int f = 0;
foreach (object obj in listBox1.Items)
{
if (obj != null)
f++;
}
//f = number of listbox items
موفق و پیروز باشید !!!
سلام.يه سوال حالا اگه ما تو ليست باكسمون x تا عدد 5 داشته باشيم و n تا عدد 6 حالا چجوري ميتونيم تعداد عدد 5 يعني همون مقدار x رو بدست بيايم؟هر كدوم رو جدا
اول این رو بذارید
using System.Linq;
بعدش هم این:
int count5=listBox1.Items.Cast<string>().Count(item=>i tem=="5");
اگه می خواهی هر کدوم جدا:
var counts=listBox1.Items.Cast<string>()
.GroupBy(item => item)
.Select(group => new {
Id = group.Key,
Count = group.Count() });
foreach (var element in counts) {
MessageBox.Show(element.Id.ToString()+","+element. Count.ToString());
}
آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 22 آبان 1392 در 10:15 صبح