@fred
Запрос where
в LINQ позволяет отфильтровать данные по определенному условию. Вот примеры правильного синтаксиса запроса where
в LINQ на основе различных объектов:
1 2 |
int[] numbers = { 1, 2, 3, 4, 5 }; var filteredNumbers = numbers.Where(x => x > 3); |
1 2 |
List<Person> people = GetPeople(); var adults = people.Where(p => p.Age >= 18); |
1 2 3 4 5 6 7 |
Dictionary<string, int> scores = new Dictionary<string, int>() { { "Alice", 90 }, { "Bob", 80 }, { "Charlie", 95 } }; var highScores = scores.Where(x => x.Value >= 90); |
1 2 3 4 |
using (var context = new MyDbContext()) { var students = context.Students.Where(s => s.Grade == "A"); } |
Во всех этих примерах используется лямбда-выражение для определения условия фильтрации в запросе where
.
@fred
Дополню ответ, что в запросе where в LINQ можно использовать не только простые условия в виде лямбда-выражений, но и составные условия с помощью логических операторов && (и), || (или) и скобок. Например:
1
|
var filteredNumbers = numbers.Where(x => x > 3 && x % 2 == 0); |
Также можно использовать методы расширения из System.Linq для применения дополнительных операций фильтрации, сортировки и преобразования данных. Вот примеры:
1 2 |
var orderedNumbers = numbers.Where(x => x > 3).OrderByDescending(x => x); var evenNumbers = numbers.Where(x => x % 2 == 0).Select(x => x * 2); |
Таким образом, запрос where в LINQ предоставляет широкий спектр возможностей для фильтрации данных и формирования нужных выборок.