我有一个包含类对象的concurrentqueue,我想获取这些对象并将它们放入同一个类对象的可观察集合中。 (基本上将它从并发队列复制/移动到集合中。)
这里我在多线程进程中将元素添加到并发队列中。
sTumblrblog_gv_concurqueue.Enqueue(new sTumblrblog_gv() { Title = tumblrusrfollow.Title, Url = tumblrusrfollow.Url.ToString(), AvatarImage = imageavatar, BlogPosts = blogposts, IsNsfw = blogisnfw });
然后我想将它们从中取出并将它们放入可观察的集合中。没有任何重复的对象(或其中包含相同网址的对象。
if (!sTumblrblog_gv_list.Any(p => p.Url == tumblrusrfollow.Url))
{
sTumblrblog_gv Queue2ObsCollection = new Queue2ObsCollection;
Queue2ObsCollection =(sTumblrblog_gv)sTumblrblog_gv_concurqueue.TryDequeue();
sTumblrblog_gv_list.Add(new sTumblrblog_gv() { Title = Queue2ObsCollection.Title , Url = Queue2ObsCollection.Url, AvatarImage = Queue2ObsCollection.AvatarImage, BlogPosts = Queue2ObsCollection.BlogPosts, IsNsfw = Queue2ObsCollection.IsNsfw});
}
我目前得到"错误CS1526类型&#34后,新表达式需要(),[]或{};这可能不是最好的方法,欢迎任何想法。