【发布时间】:2015-03-05 09:05:47
【问题描述】:
这是我的班级结构:
Public Class Product
Dim productRef As string
Dim totalStock As Integer
Dim sizes As List(of ProdSize)
End Class
Public Class ProdSize
Dim stock As Integer
Dim size As String
End Class
我有一些产品存储在List (of ProdSize) 中。我需要提取库存值 > 0 的产品。我使用以下代码得到了这个:
FinalList = (From p In ProductList Where p.totalStock > 0 Select p).toList()
但现在要求发生了变化,我需要获得具有特定尺寸和库存 > 0 的 ProdSize 的产品。
例如:
Prod A, Size M, Stock 1
Prod A, Size S, Stock 0
Prod B, Size M, Stock 0
Prod B, Size S, Stock 1
Prod C, Size M, Stock 1
Prod C, Size S, Stock 1
当我查找尺寸“M”时,我想在我的列表 FinalList 中获取产品 A 和 C。
有没有办法用一个 LINQ 来获得这个? 提前致谢!
编辑
我忘了说我需要使用ProdSize类的属性:stock和size
【问题讨论】:
-
如果我正确理解了您的问题,这应该有效:-
FinalList = (From p In ProductList Where p.totalStock > 0 AndAlso p.Size = "M" Select p).ToList() -
@RahulSingh,将其发布为答案,我会保证支持它;)
-
@RahulSingh,这不起作用。
totalStock是所有大小的总和。我需要使用ProdSize类中的属性stock和size。 -
@RahulSingh,我不是提问者;)
-
@MaciejLos - 好吧,我的错!但是 OP 的问题并不清楚,这就是我将其作为评论发布的原因。
标签: vb.net linq list collections