我希望从列表中动态计数发生了多少次项目。如果指定要查找的值,则可以在下面进行操作,但是我真正要执行的操作是遍历列表,计算发生次数并进行总计。我当前的代码如下:
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我找不到很多东西,谢谢
您可以使用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)