PDA

View Full Version : سوال: چجوری با متد جنریک Find یک شرط دینامیک رو توی List چک کنم؟؟؟؟



hanieh66
پنج شنبه 14 شهریور 1387, 09:05 صبح
یک کلاس ساده مثلا


class student
{

public student(){}
public int ID {get;set;}
public string Name{get;set;}
}
رو در نظر بگیرید. من یک لیست جنریک از این کلاس می سازم :

List <student> listStudents;جالا می خوام یک دانشجو با یک شرط خاص رو توش پیدا کنم. مثلا دانشجویی که نامش یک چیزی باشه ولی این رو بصورت پارامتر باید بگیره و دنبالش بگرده نه یک مقدار ثابت. از متود جنریک Find می خوام استفاده کنم چجوری باید Predicate رو بنویسم که یک پارامتر رو هم بگیره ؟؟


listStudent.Find(pred);

private bool pred(student st)
{
//???
}

Masiha1986
پنج شنبه 14 شهریور 1387, 10:15 صبح
با سلام
برای این کار می تونید از LINQ هم استفاده کنید. به این صورت:



var Query = from std in listStudents
where std.Name.Contains("d") //Name Like '%d%'
|| std.Name == "Reza"
select new
{
ID = std.ID,
Name = std.Name
};


پروژه نمونه رو از قسمت 'فایل های پیوست شده' دریافت کنید.

سار
پنج شنبه 14 شهریور 1387, 10:45 صبح
در برنامه نویس جستجو بر هم درد بی درمان دواست
http://barnamenevis.org/forum/showthread.php?p=519237&highlight=Find#post519237