过去几个小时我一直在努力让BlockingCollection的基本实现工作。我似乎无法在我的生活中找到VB.NET的教程,所以一直试图从C#中的教程中学到一些东西。
我只是想让一个基本的实现工作,所以我可以继续做我真正需要的事情。但我被卡住了。
这是我目前的代码:
Dim blockingCollection As BlockingCollection(Of String) = New BlockingCollection(Of String)
Dim count As Integer = 0
Task.Factory.StartNew(Sub()
While (True)
blockingCollection.Add("value" + count)
count = count + 1
End While
End Sub)
Task.Factory.StartNew(Sub()
For Each value As String In blockingCollection.GetConsumingEnumerable()
Debug.Print("Worker 1: " + value)
Next
End Sub)
我没有得到运行它的输出,只有以下例外:
发生了'System.FormatException'类型的第一次机会异常 mscorlib.dll类型'System.FormatException'的第一次机会异常 发生在Microsoft.VisualBasic.dll类型的第一次机会异常 Microsoft.VisualBasic.dll
中发生'System.InvalidCastException'
过去几个小时我一直在谷歌搜索试图解决这个问题,但无济于事。希望有人可以提供帮助。
由于
答案 0 :(得分:1)
此代码执行,但我不知道你想要什么。
Dim blockingCollection As BlockingCollection(Of String) = New BlockingCollection(Of String)
Dim count As Integer = 0
Task.Factory.StartNew(Sub()
While True
blockingCollection.Add("value" & count.ToString)
count = count + 1
End While
End Sub)
Task.Factory.StartNew(Sub()
For Each value As String In blockingCollection.GetConsumingEnumerable()
Debug.WriteLine("Worker 1: " & value)
Next
End Sub)