visual tutorial query net imports hacer for examples como vb.net linq sum

tutorial - VB.NET LINQ Query: Obtención de la suma de todos los valores para un miembro de estructura específica



query visual basic (2)

En VB.NET, asumamos que tengo la siguiente estructura:

Public Structure Product Public ItemNo As Int32 Public Description As String Public Cost As Decimal End Structure

... y una lista genérica de los productos:

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)

¿Cómo definiría una consulta LINQ para sumar todos los valores de Product.Cost en la lista? En otras palabras, ¿cuál sería la consulta LINQ en VB.NET para devolver el valor 120.90, que refleja la suma de los tres valores del costo del producto en una sola consulta LINQ?


El método integrado de Suma ya lo hace.

En VB se ve así:

ProductList.Sum(Function(item) item.Cost)

En C # se ve así:

ProductsList.Sum( (item) => item.Cost);


Una forma sería:

Dim s = (From p As Product In products Select p.Cost).Sum()