2013-04-24 61 views
1

我在LINQ查詢expresion在lambda表達式LINQ查詢一個等,但都產生不同的充結果,請一定告訴我什麼是查詢之間的deffernceLINQ查詢產生不同模式的結果

var result = from c in displayedCompanies 
        select new[] { Convert.ToString(c.CampusId), c.CampusName, c.CampusCode }; 

的abouve查詢生成以下導致

[["10","Ken Mazar Campus","01"],["20","Ken Kabul","02"]]

var result = displayedCompanies.Select(c => new { c.CampusId, c.CampusName, c.CampusCode }); 

此查詢產生以下結果

[{"CampusId":10,"CampusName":"Ken Mazar Campus","CampusCode":"01"}, 
     {"CampusId":20,"CampusName":"Ken Kabul","CampusCode":"02"}] 

螞蟻i之後CONVER結果爲JSON

+0

galuano1感謝編輯我的問題先生 – Developerzzz 2013-04-24 06:03:08

回答

1

總之你正在做這樣的事情:

LINQ查詢

displayedCompanies 
      .Select (c => new String[] { Convert.ToString (c.CampusId), c.CampusName}); 

它返回一個數組結果沒有列名,就值。

lambda表達式

displayedCompanies 
      .Select (c => new {CampusId= c.CampusId, CampusName= c.CampusName}) 

此返回與列名。

2
select new[] { Convert.ToString(c.CampusId), c.CampusName, c.CampusCode } 

上面創建具有3個元素的數組下面的結果產生。其結果是,LINQ查詢返回數組的數組

displayedCompanies.Select(c => new { c.CampusId, c.CampusName, c.CampusCode }); 

上述查詢創建具有3個屬性即CampusId,CampusName,CampusCode等anyonymus對象當轉換爲JSON它創建一個對象,並因此返回的數組對象。