Ему не нравится, когда я присваиваю ему значения с массива, хотя peopls реализует массив IEnumreble.
var results = from p in peopls - здесь ошибка.
{
class Program
{
static void Main(string[] args)
{
List<Person> peopls = new List<Person>();
peopls.Add(new Person("Алексей", "Костылёв", 17));
peopls.Add(new Person("Илья", "Костылёв", 13));
peopls.Add(new Person("Andrei", "Костылёв", 42));
var results = from p in peopls
where p.Age < 16
select new { p.FirstName, p.LastName, p.Age };
}
}
}
То что компилятор ругается на ошибку в строке:
var results = from p in peopls - здесь ошибка.
это нормально поскольку в документации написано, что:
Выражение запроса должно начинаться с предложения from и должно заканчиваться предложением select или group. Между первым выражением from и последним выражением select или group могут содержаться одно или несколько из следующих необязательных предложений: where, orderby, join, let. Вы также можете использовать ключевое слово into, чтобы включить результат предложения join или group в качестве источника для дополнительных предложений запроса в одном выражении запроса.
Как видно в вашем случае, не хватает в конце либо select или group.
Поэтому ваш код должен выглядеть так:
var results = from p in peopls group p by p.FirstName;
или так:
var results = from p in peopls select p.FirstName;
тип указывай после from, таков синтаксис
var results = from Person p in peopls
where p.Age < 16
select new { p.FirstName, p.LastName, p.Age };
а вообще юзай Entity Framework, юный падаван.
var result = people.Where(x => x.Age < 16);
Продвижение своими сайтами как стратегия роста и независимости