VB.NETで、次の構造があると仮定します。
Public Structure Product
Public ItemNo As Int32
Public Description As String
Public Cost As Decimal
End Structure
...および製品の一般的なリスト:
Dim ProductsList As New List(Of Product)
Dim product1 As New Product
With product1
.ItemNo = 100
.Description = "Standard Widget"
.Cost = 10D
End With
ProductsList.Add(product1)
Dim product2 As New Product
With product2
.ItemNo = 101
.Description = "Standard Cog"
.Cost = 10.95D
End With
ProductsList.Add(product2)
Dim product3 As New Product
With product3
.ItemNo = 101
.Description = "Industrial Strenght Sprocket"
.Cost = 99.95D
End With
ProductsList.Add(product3)
リスト内のすべてのProduct.Cost値を合計するLINQクエリを定義するにはどうすればよいですか?言い換えると、1つのLINQクエリの3つの製品コスト値すべての合計を反映する値120.90を返すVB.NETのLINQクエリは何でしょうか。
組み込みのSumメソッドはすでにこれを行っています。
VBでは次のようになります:
ProductList.Sum(Function(item) item.Cost)
C#では次のようになります。
ProductsList.Sum( (item) => item.Cost);
1つの方法は次のとおりです。
Dim s = (From p As Product In products Select p.Cost).Sum()