PDA

View Full Version : شمارش تعداد آیتم های ایست باکس



farhaneh
جمعه 13 شهریور 1388, 01:11 صبح
سلام.
چطوری میتونم تعداد آیتم های یه list box رو بشمارم. باید بتونم تو برنامم تعدادشون رو داشته باشم تا به ازای هر کدوم یه سری دستورات اجرا بشن.
ممنونم.

Crazy_Clever
جمعه 13 شهریور 1388, 03:10 صبح
سلام دوست عزيز
البته جوابم شايد كمي غلط باشه ولي در اولين فرصت چك ميكنم تا خودم هم مطمئن بشم

2 تا راه داري:
1. ميتوني از items.count ليستت استفاده كني (count داره ولي جاش رو شايد اشتباه گفته باشم)

2. ميتوني با يه foreachهر بلايي كه خواستي سرشون بياري


foreach listItem item in listbox1
{
//to do
}

mahdi_7610
جمعه 13 شهریور 1388, 07:59 صبح
label1.Text = listBox1.Items.Count.ToString();

farhaneh
جمعه 13 شهریور 1388, 15:32 عصر
ممنونم. منم اولین روشی که به ذهنم رسید استفاده از for each بود که ارور میده که این دستور رو با listbox نمیتونی استفاده کنی!!
برای list box هم متد count وجود نداره!!!

Crazy_Clever
جمعه 13 شهریور 1388, 15:51 عصر
عزيز جان من چك كردم داريم يا دارم
listbox1.Items.Count
براي FOREACH هم هموني كه نوشتم با كمي تغيير كار ميكنه:

foreach (string item in listBox1.Items)
{
MessageBox.Show(item.ToString());
}
راستش اگه شما اون قسمت كدتون رو بزارين يا كمي بيشتر توضيح بدين دوستان ديگه هم ميتونن كمك كنن
شايد من درست نفهميده باشم.

Salar Ashgi
جمعه 13 شهریور 1388, 16:56 عصر
سلام ، بنظرم دو روش زیر رو واسه اینکار میشه ارائه داد که اولی بهتره :

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


موفق و پیروز باشید !!!

alireza_kaka
سه شنبه 21 آبان 1392, 23:59 عصر
سلام.يه سوال حالا اگه ما تو ليست باكسمون x تا عدد 5 داشته باشيم و n تا عدد 6 حالا چجوري ميتونيم تعداد عدد 5 يعني همون مقدار x رو بدست بيايم؟هر كدوم رو جدا

rahnema1
چهارشنبه 22 آبان 1392, 09:24 صبح
اول این رو بذارید

using System.Linq;

بعدش هم این:

int count5=listBox1.Items.Cast<string>().Count(item=>item=="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());
}