VB.net统计列表框中特定项的倍数

VB.net统计列表框中特定项的倍数,vb.net,count,listbox,Vb.net,Count,Listbox,我在网上浏览了几个小时,没有发现任何东西对我的情况有帮助,我认为这是一个很常见的情况 我想数一数我的列表框中的具体项目,并找出每个项目的数量。我想把这个值赋给一个变量。我想我已经涵盖了大部分内容,但是我无法让代码正常工作 为了解释,我需要一些东西,它计算列表中有多少个“大蒜面包”,然后为所有项目分配一个变量,如“item1”,依此类推 干杯 结果:countOfA=2你介意发布你的代码吗?你不需要GUI控件,使用一个列表(字符串)来计算项目实例。然后,您可能希望将筛选结果发布到列表框或其他任何地

我在网上浏览了几个小时,没有发现任何东西对我的情况有帮助,我认为这是一个很常见的情况

我想数一数我的列表框中的具体项目,并找出每个项目的数量。我想把这个值赋给一个变量。我想我已经涵盖了大部分内容,但是我无法让代码正常工作

为了解释,我需要一些东西,它计算列表中有多少个“大蒜面包”,然后为所有项目分配一个变量,如“item1”,依此类推

干杯


结果:countOfA=2

你介意发布你的代码吗?你不需要GUI控件,使用一个列表(字符串)来计算项目实例。然后,您可能希望将筛选结果发布到列表框或其他任何地方。您好,感谢您提供的代码,我会对其进行投票,但我的级别不够高:(.您是否可以解释代码中的'mylistitem'部分,因为我不太确定是否应该将其重命名为列表中所需的项,因为VB说它们的定义不正确?干杯当您说,
list.items.Add
,它需要object。因此,当您执行
…Add(myString)时
您的对象是字符串。您可以这样做。或者您可以添加自定义对象,该对象具有许多属性。或者,如果您已经准备好了项集合,您可以将此集合设置为数据源,并标记哪个属性是值,哪个属性是显示。WinForms将负责显示它。在本例中(它正在工作)我演示了如何使用自定义对象集合填充列表,如何检索它,以及如何聚合单个组并获得计数
Public Class MyListItem
    Public Sub New(id As Integer, name As String)
        LiId = id
        LiName = name
    End Sub

    Public LiId As Integer
    Public LiName As String
End Class

Private Sub Test()
    Dim listbox2 As New ListBox()

    Dim list As New List(Of MyListItem)()
    list.Add(New MyListItem(1, "a"))
    list.Add(New MyListItem(2, "a"))
    list.Add(New MyListItem(3, "b"))
    list.Add(New MyListItem(4, "c"))
    listbox2.DataSource = list
    listbox2.ValueMember = "LiId"
    listbox2.DisplayMember = "LiName"

    Dim countOfA = Aggregate itm In DirectCast(listbox2.DataSource, List(Of MyListItem))
            Where itm.LiName = "a"
            Into Sum(1)


End Sub