如何计算列表中的字符串出现次数(字符串)

Jas*_*don 3 vb.net

我希望从列表中动态计数发生了多少次项目。如果指定要查找的值,则可以在下面进行操作,但是我真正要执行的操作是遍历列表,计算发生次数并进行总计。我当前的代码如下:

Dim itemlist As New List(Of String)
itemlist.add("VALUE1")
itemlist.add("VALUE2")
itemlist.add("VALUE3")


    Dim count As Integer = 0

    For Each value In itemlist

        If value.Equals("VALUE1") Then count += 1

    Next

 Msgbox(count.tostring)
Run Code Online (Sandbox Code Playgroud)

因此,我的意思是而不是搜索值,而是让应用将其总计并向用户显示计数的事件,类似于excel中的“ COUNTIF”。不使用LINQ我找不到很多东西,谢谢

Met*_*ght 6

您可以使用LINQ轻松完成此操作:

Msgbox(itemlist.Where(Function(value) value = "VALUE1").Count)
Run Code Online (Sandbox Code Playgroud)

要计算重复次数,使用LINQ再次很容易:

Dim itemlist As New List(Of String)
itemlist.Add("RED")
itemlist.Add("RED")
itemlist.Add("RED")
itemlist.Add("GREEN")

dim groups = itemList.GroupBy(Function(value) value)

For Each grp In groups
    Console.WriteLine(grp(0) & " - " & grp.Count )
Next
Run Code Online (Sandbox Code Playgroud)

输出:

RED - 3
GREEN - 1
Run Code Online (Sandbox Code Playgroud)