Зачем возникает следующая ошибка в следующем коде?Как получить пользовательский объект из общего списка с LINQ?
Я думал, что если я поместил пользовательские объекты в общий список его типа, то IEnumerable позаботится? Что еще мне нужно сделать с этим списком, чтобы использовать LINQ?
Не может неявно преобразовать тип «System.Collections.Generic.IEnumerable
<TestLinq23.Customer>
» к «TestLinq23.Customer»
using System;
using System.Collections.Generic;
using System.Linq;
namespace TestLinq23
{
class Program
{
static void Main(string[] args)
{
List<Customer> customerSet = new List<Customer>();
customerSet.Add(new Customer { ID = 1, FirstName = "Jim", LastName = "Smith" });
customerSet.Add(new Customer { ID = 2, FirstName = "Joe", LastName = "Douglas" });
customerSet.Add(new Customer { ID = 3, FirstName = "Jane", LastName = "Anders" });
Customer customerWithIndex = customerSet[1];
Console.WriteLine("Customer last name gotten with index: {0}", customerWithIndex.LastName);
Customer customerWithLinq = from c in customerSet
where c.FirstName == "Joe"
select c;
Console.WriteLine(customerWithLinq.LastName);
Console.ReadLine();
}
}
public class Customer
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
Может также понадобиться варианты * OrDefault(), если это действительно так, что запись не существует. –
Да, я добавлю это к ответу. –
Был также забыт перегрузка, берущая предикат - еще проще :) –