קודם כל אתה מסנן רשימות ולא דטהבייס ויש הבדל גדול
לסינון מול דטהבייס יש כלים שיודעים לבנות לך שאילתה מכל הבלגאן הזה
ANYWAY מה שכתבת הוא קוד ספגטי קלאסי - דע לעתיד שאם קוד מגיע לכזו רמת סיבוכיות אז משהו בגישה שלך לא נכון (אקסס - יוצא מן הכלל)
לסינון רשימות אפשר לעשות סינון חוזר של אותה רשימה משהו כזה:
static void Main(string[] args)
{
List<Donor> dnrSource = new List<Donor>();
dnrSource.Add(new Donor { FirstName = "John", LastName = "Doe", Address = "31 Peachtree st."});
dnrSource.Add(new Donor { FirstName = "Jane", LastName = "Doe", Address = "31 Peachtree st." });
dnrSource.Add(new Donor { FirstName = "Jane", LastName = "Doe" });
List<Donor> dnrFiltered = new List<Donor>(dnrSource.ToArray());
if (!string.IsNullOrEmpty(FirstNameSearch.Text))
{
dnrFiltered = new List<Donor>(SearchString(dnrFiltered, "FirstName", FirstNameSearch.Text));
}
if (!string.IsNullOrEmpty(LastNamesearch.Text))
{
dnrFiltered = new List<Donor>(SearchString(dnrFiltered, "LastName", LastNamesearch.Text));
}
if (!string.IsNullOrEmpty(Addresssearch.Text))
{
dnrFiltered = new List<Donor>(SearchString(dnrFiltered, "Address", Addresssearch.Text));
}
}
פורסם במקור בפורום CODE613 ב09/08/2015 20:17 (+03:00)