各オブジェクトには3つのクライアントがあり、各クライアントにはクライアントコードとクライアント名があります。私は別のオブジェクトのクライアントコードでグループ化するためにC#Linqを使用したいと思います。Linq Groupby同じ名前の複数の列(匿名型は同じ名前の複数のプロパティを持つことはできません)
オブジェクト[0]:クライアント "pickupFrom" が有している:クライアント "pickupFrom" は "clientCode" クライアント "loadAt" は "clientCode" クライアント "deliverTo" は "clientCode"
オブジェクト[1]を有していました「clientCode」クライアント「loadAt」は 「clientCode」クライアント「deliverToは、」私はこれらのクライアントでグループ化したい「clientCode」
を持っており、それらのクライアントが同一であるので、一つのオブジェクトを持つ配列を取得します。私は何ができるのLINQを使用して
:ここ
Objects[] GroupedDistinct =
ungroupedObjects.GroupBy(line => new { line.pickupFrom.clientCode,
line.LoadAt.clientCode,
line.deliverTo.clientCode })
.Select(x => x.First())
.ToArray();
問題はGROUPBYするためにこれらのパラメータを渡すときに名前の文字列を定義しているので、私は何度もclientCode多くを渡すことができないということですがより多くをclientCode同じクライアントオブジェクトから来たものではありません。
エラーは「匿名型は同じ名前の複数のプロパティを持つことができません」 同じ文字列名を複数回渡すことはできませんが、それらのオブジェクト(クライアント)がclientCodeで行われる方法です。 これには方法がありますか?
あなたは 'object.pickupFrom.clientCode'について確信していますか?多分あなたは 'line.pickupFrom.clientCode'を意味するでしょうか? –