将类对象的concurrentqueue转换为同一对象的observablecollection

时间:2015-10-24 05:51:35

标签: c# multithreading observablecollection uwp concurrent-queue

我有一个包含类对象的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后,新表达式需要(),[]或{};这可能不是最好的方法,欢迎任何想法。

0 个答案:

没有答案