從書「基本LINQ」請檢查下列程序:LINQ C#查詢的邏輯是什麼?
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查詢,爲什麼它給了我的錯誤,如果我從行刪除「新」:
select new {c.City, c.ContactName};
爲什麼我們不能只是這樣寫
select c.City, c.ContactName;
這裏的邏輯是什麼?
前兩行清楚我爲什麼我們需要使用匿名類型。因爲你正在使用的查詢語法 – Mitul 2012-07-09 02:54:47
你仍然需要選擇,你只是不需要一個匿名對象來保存值。 – 2012-07-09 02:55:26
+1指出原始對象都可以使用。 – 2012-07-09 03:08:23