#c_sharp #linq
Стыдно, знаю. Не нагуглил. Как вывести всех людей, у которых ДР меньше чем в переменной defaultDateTimes? Через LINQ public class Person1 { public string Name; public DateTime Birthday; } class Program { static void Main(string[] args) { DateTime defaultDateTimes = new DateTime(2000,1,1); var people = new List(); var p1 = new Person1() { Name = "Leslie", Birthday = new DateTime(1983, 9, 4) }; var p2 = new Person1() { Name = "Chris", Birthday = new DateTime(2001, 6, 19) }; var p3 = new Person1() { Name = "JP", Birthday = new DateTime(1983, 4, 5) }; } }
Ответы
Ответ 1
Например, так: DateTime defaultDateTimes = new DateTime(2000, 1, 1); var people = new List() { new Person1() { Name = "Leslie", Birthday = new DateTime(1983, 9, 4) }, new Person1() { Name = "Chris", Birthday = new DateTime(2001, 6, 19) }, new Person1() { Name = "JP", Birthday = new DateTime(1983, 4, 5) } }; var filteredPeople = people.Where(p => p.Birthday < defaultDateTimes); foreach (var p in filteredPeople) Console.WriteLine(p.Name); LINQ предназначено для преобразования данных. Оно умеет, например, отбирать данные из списка (как в вашем случае людей) и преобразовывать их. Выполнять действия с данными (например, вывести имя человека) LINQ не умеет (да и не предназначено для этого). Поэтому в вашей задаче фильтрация данных — дело LINQ, а для вывода нужно использовать обыкновенный цикл foreach.
Комментариев нет:
Отправить комментарий