Поиск по листу по всем параметрам - C#
Формулировка задачи:
допустим по параметру сравнить
А если мне надо по всем полям класса сравнить?? как то не хочется писать в лямбда выражении большую долгую строчку которая б 9 параметров бы сравневала.
почему кстати нельзя использовать расширенную версию лямбда выражения
я бы туда поместил что то типа этого
Ввобщем задание такое, поиск по ключевому слову в листе обьектов. Тоесть мне по всем параметрам каждого обьекта надо пробежатся и сравнить. Что то типа того что самый первый пример в теме. Но для всех параметров. Параметры там типа стринг и инт.
clients.FindAll(x => x.Surname == (string)obj);
realtys.FindAll(x => { });
PropertyInfo[] properties = this.GetType().GetProperties(); foreach (PropertyInfo propertyInfo in properties) { string stringValue = propertyInfo.GetValue().ToString(); // ... }
Решение задачи: «Поиск по листу по всем параметрам»
textual
Листинг программы
class Client { public String Name { get; set; } public int Age { get; set; } public Client(string name, int age) { Name = name; Age = age; } public string Description() { var sb = new StringBuilder(); PropertyInfo[] properties = this.GetType().GetProperties(); foreach (PropertyInfo propertyInfo in properties) { sb.Append(propertyInfo.GetValue(this)); sb.Append(" "); } return sb.ToString(); } } public static void Main(string[] args) { List<Client> clients = new List<Client>(); clients.Add(new Client("Vasya", 36)); clients.Add(new Client("Misha", 12)); clients.Add(new Client("Oleg", 32)); clients = clients.Where(c => c.Description().IndexOf("12") != -1).ToList(); foreach (var client in clients) { Console.WriteLine(client); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д