在VB.NET中,我们假设我有以下结构:
Public Structure Product
Public ItemNo As Int32
Public Description As String
Public Cost As Decimal
End Structure
Run Code Online (Sandbox Code Playgroud)
......以及产品的通用清单:
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)
Run Code Online (Sandbox Code Playgroud)
如何定义LINQ查询以对List中的所有Product.Cost值求和?换句话说,VB.NET中的LINQ查询返回值120.90,它反映了单个LINQ查询中所有三个产品成本值的总和?
McK*_*Kay 41
内置的Sum方法已经这样做了.
在VB中它看起来像这样:
ProductList.Sum(Function(item) item.Cost)
Run Code Online (Sandbox Code Playgroud)
在C#中它看起来像这样:
ProductsList.Sum( (item) => item.Cost);
Run Code Online (Sandbox Code Playgroud)
一种方法是:
Dim s = (From p As Product In products Select p.Cost).Sum()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41789 次 |
| 最近记录: |