@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 предоставляет широкий спектр возможностей для фильтрации данных и формирования нужных выборок.