Код, сбивающий с толку / пропускающий ведение при добавлении метода (add), который просто добавляет во внутренний список.
Класс списка ваших автомобилей CarList
- это не список автомобилей, это контейнер, содержащий список автомобилей.
Итак, причина, по которой вы получаете ошибку, заключается в том, что вы пытаетесь взаимодействовать с контейнером CarList
, который не перечисляется. Вы должны взаимодействовать на List<Car>
, что связано с плохим наименованием ... ваш CarList
больше похож на CarProviderA
, в котором есть список автомобилей.
не будет работать
var query = from car in carList -- not a list of cars
where car.Make == "CITROEN"
select car;
будет работать
var query = from car in carList.List -- where List is a public property of _list to the list of cars
where car.Make == "CITROEN"
select car;
Также
Car car = new Car();
должен быть в цикле while, вы добавляете один и тот же экземпляр несколько раз, который будет таким же, как и в прошлый раз.
Должно выглядеть примерно так
while (!reader.EndOfStream)
{
Car car = new Car();
string line = reader.ReadLine();
var values = line.Split(',');
car.Make = values[0];
car.Model = values[1];
car.Year = values[2];
car.Pass = values[3];
car.Fail = values[4];
carList.Add(car);
}