חיפוש רק חלק מהמילה
-
var resultList = list.FindAll(delegate(string s) { return s.Contains(srch); });
http://stackoverflow.com/questions/10488587/find-substring-in-a-list-of-strings
פורסם במקור בפורום CODE613 ב07/08/2015 17:55 (+03:00)
-
var resultList = list.FindAll(delegate(string s) { return s.Contains(srch); });
http://stackoverflow.com/questions/10488587/find-substring-in-a-list-of-strings
לא בדיוק הבנתי איך אני כותב את זה,
אני משתמש בפונקציה הבאה:public static IEnumerable<Donor> SearchName(string name) { var result = from donor in AddTorem.donors where donor.FirstName == name || donor.LastName == name select donor; return (IEnumerable<Donor>)result; }
ממה שראיתי בstackoverflow הם דיברו שם על ליסט של סטרינגים, אבל אני מחפש בליסט של אובייקטים ואני רוצה לחפש סטרינג ששוה לאחד מהמאפיינים של האובייקט אז איך אני רושם את זה?
כמו כן האם אפשר הסבר על הדליגייט הזה והפונקציה האנונימית? לא בדיוק הבנתי מה הם עושים.. (הדלגייט מקבל סטרינג והפונקציה בודקת האם הסטרינג מכיל את מילת החיפוש.. זה מה שהבנתי.. )
תודה רבה!פורסם במקור בפורום CODE613 ב09/08/2015 00:07 (+03:00)
-
הנה פשוט בלי לינק
public static IEnumerable<Donor> SearchName(string name) { var result = new List<Donor>(); foreach (Donor donor in AddTorem.donors) { if (donor.FirstName.Contains(name) || donor.LastName.Contains(name)) result.Add(donor); } return (IEnumerable<Donor>)result; }
פורסם במקור בפורום CODE613 ב09/08/2015 08:14 (+03:00)
-
והנה פשוט יותר עם linq
public static IEnumerable<Donor> SearchName(IEnumerable<Donor> lst, string sName) { return lst.Where(d => d.FirstName == sName || d.LastName == sName); }
התכוונת כמובן לכתוב כך::
return list.Where(d => d.FirstName.Contains(name) || d.LastName.Contains(name));
כי איך שכתבת זה מחפש רק כאשר כל הסטרינג מופיע במאפיין..
פורסם במקור בפורום CODE613 ב09/08/2015 11:26 (+03:00)
-
והנה פשוט יותר עם linq
אני רוצה להוסיף תנאי שיבדוק קודם לכן שהערך אינו null
כתבתי כך בלי להשתמש בlinq:public static IEnumerable<Donor> SearchEmail(string email) { var result = new List<Donor>(); foreach (Donor donor in AddTorem.donors) { if (donor.Email != null) { if (donor.Email.Contains(email)) result.Add(donor); } } return (IEnumerable<Donor>)result; }
השאלה האם יש דרך לכתוב זאת עם לינק?
תודהפורסם במקור בפורום CODE613 ב09/08/2015 12:41 (+03:00)