2

Dim XXX As IEnumerable(Of MyObject)移入されたオブジェクトのコレクションがあります。MyObject.MyCode など、グループ化したい MyObject のプロパティがあります。

LINQ の例を見ると、Group XX By INTO構文が何をしているのかが明確ではなく、理解できません。

だから私が求めているのは、MyCode の値でグループ化し、XXX にある各値の数を確認する機能です。

うまく説明できていないことはわかっていますが、LINQ 担当者が理解できることを願っています。

ありがとう

ライアン

4

3 に答える 3

3

次の C# コードは、これを行う方法を示しています (申し訳ありませんが、私はあまり VB.NET に詳しくありません)。

var myGroups = from p in myObject
               group p by p.MyCode into g
               select new { Category1 = g.Key, Category = g };

into キーワードは、基本的に group by の結果を受け取り、select 部分で参照できる新しい項目に入れます。

于 2009-09-15T12:16:37.303 に答える
2

基本的に、「グループ化」操作には 2 つのプロジェクションがあります。

  • 何によってグループ化しますか? (キー)
  • グループに何を含めますか? (値)

たとえば、人々のグループがあるとします。名前を年齢別にグループ化できます。

  • 18: ボブ、ジェフ、デイブ
  • 21: ジェニファー、マット

GroupByメソッドを直接使用している場合は、キー セレクターを指定するだけで済みます。その場合、値セレクターはデフォルトで「シーケンス内の値」になります (たとえば、上記の例では、デフォルトで「Personオブジェクトをグループ化する年")。

クエリ式の構文を使用している場合は、使用している言語によって異なります。ただし、「に」の部分は効果的に無視できますが、それは単なるクエリの継続です。「クエリで使用した他の変数はもう必要ありません。グループ化の結果だけが必要です」(クエリの後続のビットで使用できます) と言っているようなものです。

于 2009-09-15T12:17:28.923 に答える
1

発送元の注文テーブル _

発送ごとにグループ化.ShippingZip _

合計に = Sum(Shipment.Cost)、Average(Shipment.Cost)

于 2009-09-15T12:14:29.883 に答える