本「Essential LINQ」から以下のプログラムを確認してください。
class Customer
{
public string CustomerID {get;set;}
public string ContactName {get;set;}
public string City {get;set;}
public static List<Customer> GetCustomers()
{
return new List<Customer>
{
new Customer {CustomerID = "ALFKI", ContactName = "Maria Anders", City = "Berlin"},
new Customer {CustomerID = "ANATR", ContactName = "Sns Trujillo", City = "Mexico D.F."},
new Customer {CustomerID = "ANTON", ContactName = "Antonio Moreno", City = "Mexico D.F."}
};
}
}
void Main()
{
var query = from c in Customer.GetCustomers()
where c.City == "Mexico D.F."
select new { c.City, c.ContactName};
foreach (var cityandcontact in query)
{
Console.WriteLine(cityandcontact);
}
}
LINQ クエリで、行から「new」を削除するとエラーが発生する理由:
select new {c.City, c.ContactName};
なぜこのように書けないのか
select c.City, c.ContactName;
ここでのロジックは何ですか?