2013-02-26 63 views
3
var query = from c in customers 
       join o in orders on c.ID equals o.ID 
       select new { c.ID, c.City, SalesBefore = c.Sales, NewOrder = o.Amount, SalesAfter = c.Sales + o.Amount }; 

    foreach (var item in query) 
    { 
     Console.WriteLine(item); 
    } 

我跑上述控制檯應用程序的代碼。當它生成結果時,它將顯示在{}中。爲什麼在{}的結果?{}在LINQ結果

結果示例

{ ID=1, City=New York.....} 

沒有什麼至關重要。只是好奇知道。

回答

10

這只是默認.ToString實現匿名類型。沒有更多或更少。

1

這只是他們在覆蓋ToString方法時選擇的樣子。這確實意味着物體看起來像一個物業包,這基本上就是它的原型。

2

該代碼使用Console.WriteLine(object)過載,該過載在引用的對象上調用.ToString()方法。反過來,.ToString()方法以這種方式呈現匿名類型。