PDA

View Full Version : نمایش خروجی دستور linq با حلقه for



ali_mnkt
جمعه 24 شهریور 1391, 21:24 عصر
با سلام

همون طور که می دونید خروجی یک دستور linq از نوع IEnumerable هست . که بعد از اجرای می شه از طریق دستور foreach نتیجه رو مشاهده کرد مثل مثال زیر :


person[] myPerson = new person[]
{
new person{ name="alireza" , family="mirazei"},
new person{name="mohamad" , family="mohamadi"},
new person{name="alireza" , family="tehrani"}
};



IEnumerable<person> harchi = from p in myPerson
where p.name == "alireza"
select p;


foreach (var item in harchi)
{
textBox1.Text += item.family + "\r\n";
}
خوب سئوال من اینه که نتیجه رو آیا می شه با استفاده از حلقه for هم نشون داد یا فقط باید از طریق foreach این کار انجام بشه ؟ هر کاری کردم نتونستم با for خروجی بگیرم همش خطا می داد

mdt414
جمعه 24 شهریور 1391, 21:42 عصر
سلام
در این موارد چون تعداد موارد برگشتی معلوم نیست از foreach استفاده میشه...اما اگز بخوای با for بنویسی به این شکل میشه :



var harchi = (from p in myPerson
where p.name == "alireza"
select p).ToList();
for (int i=0;i<harchi.Count();i++)
{
textBox1.Text += harchi[i].family + "\r\n";
}