1

私はlinqクエリ式でlinqクエリを1つ、ラムダ式で他のクエリを持っていますが、どちらも異なる結果を生成しますクエリ間の違いを教えてください

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

上記のクエリは、次の結果を生成します

[["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"}]

結果をjsonに変換した後、次の結果が生成されます

4

2 に答える 2

1

要するに、あなたはこのようなことをしています:

リンククエリ

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

これは、列名なしで値のみの配列結果として返されます。

ラムダ式

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

これは列名で返されます。

于 2013-04-24T06:54:27.447 に答える