observablecollection是否有ip地址发生频繁变化变化

请问怎么使用不了ObservableCollection_c#吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:86,593贴子:
请问怎么使用不了ObservableCollection收藏
我使用的VS2008,using System.Collections.ObjectM但是使用ObservableCollection仍然提示无法找到命名空间.有哪位大侠告诉我下是什么原因啊
必须添加引用才行
引用添加哪个啊可以看到System.Collections.ObjectModel下面包含collection,readonlyCollection和KeyCollection
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或4192人阅读
1.使用Any方法查询 //在数组中查找Name和Age为指定条件的项,只要数组中有一项符合即返回true&&&&&&&&&&&
&&&&&&&&&& ObservableCollection&MyTest& lstData = new ObservableCollection&MyTest&()
&&&&&&&&&&& {
&&&&&&&&&&&&&&& new MyTest(){Name=&Limin&,Age=32,City=&China&},
&&&&&&&&&&&&&&& new MyTest(){Name=&Lixuefen&,Age=30,City=&China&}
&&&&&&&&&&& };
&&&&&&&&&&& //在数组中查找Name和Age为指定条件的项,只要数组中有一项符合即返回true
&&&&&&&&&&& bool bFind = lstData.Any&MyTest&(p =& p.Name == &Limin& && p.Age == 32);
&&&&&&&&&&& if (bFind)
&&&&&&&&&&& {
&&&&&&&&&&&&&&& MessageBox.Show(&已查找到&);
&&&&&&&&&&& }
&&&&&&&&&&& else
&&&&&&&&&&& {
&&&&&&&&&&&&&&& MessageBox.Show(&未查找到&);
&&&&&&&&&&& }
2.使用All方法查询,必须在数组中的所有项的City都等于China才会返回true
&&&&&&&&&&& ObservableCollection&MyTest& lstData = new ObservableCollection&MyTest&()
&&&&&&&&&&& {
&&&&&&&&&&&&&&& new MyTest(){Name=&Limin&,Age=32,City=&China&},
&&&&&&&&&&&&&&& new MyTest(){Name=&Lixuefen&,Age=30,City=&China&}
&&&&&&&&&&& };
&&&&&&&&&&& //在数组中查找Name和Age为指定条件的项,只要数组中有一项符合即返回true
&&&&&&&&&&& bool bFind = lstData.All&MyTest&(p =& p.City == &China&);
&&&&&&&&&&& if (bFind)
&&&&&&&&&&& {
&&&&&&&&&&&&&&& MessageBox.Show(&已查找到&);
&&&&&&&&&&& }
&&&&&&&&&&& else
&&&&&&&&&&& {
&&&&&&&&&&&&&&& MessageBox.Show(&未查找到&);
&&&&&&&&&&& }
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:715014次
积分:9976
积分:9976
排名:第1092名
原创:238篇
转载:87篇
译文:45篇
评论:49条
(1)(3)(5)(1)(1)(3)(2)(3)(6)(11)(1)(13)(10)(15)(23)(28)(32)(36)(11)(8)(25)(14)(37)(41)(9)(7)(1)(22)(20)关于嵌套的 ObservableCollection&T&集合数据源改变不能更新UI问题?
[问题点数:100分,结帖人Joetao]
关于嵌套的 ObservableCollection&T&集合数据源改变不能更新UI问题?
[问题点数:100分,结帖人Joetao]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。& & &最近在做taobao的一个卖家应用,需要订阅taobao的订单推送,示例代码如下:
看到上面的OnMessage场景之后,我突然就鬼使神差的在想最近写的一个服务,其中的一个功能是需要定时的轮询一个集合,这样可以方便的把数据取出来,但是
轮训对我来说是被迫的,我急迫需要一种机制对一个集合的数据进行监控,比如List,Dictionary等等,这样我就很方便的对数据进行后续处理,而不是我定时的去轮
训一个集合,然后我就想到了wpf里面有一个玩法叫做&属性依赖&,然后就想到了今天要说的&ObservableCollection&集合,下面我们就来看看这个集合的玩法。
一:先看玩法
  首先我对集合进行Add和Remove操作,并且给他注册个change事件,然后用工作线程去执行change事件的逻辑,看看给我什么反馈,神奇的效果即刻开始。
class Program
static void Main(string[] args)
ObservableCollection&string& list = new ObservableCollection&string&() { "1" };
list.CollectionChanged += list_CollectionC
for (int i = 0; i & 1000; i++)
if (i % 3 == 1)
list.RemoveAt(0);
list.Add(i.ToString());
Console.WriteLine("全部结束!!!");
Console.Read();
static void list_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
//为了不阻止主线程Add,事件用 &工作线程&处理
Task.Factory.StartNew((o) =&
var obj = o as NotifyCollectionChangedEventA
switch (obj.Action)
case NotifyCollectionChangedAction.Add:
Console.WriteLine("当前线程:{0}, 操作是:{1} 数据:{2}", Thread.CurrentThread.ManagedThreadId, obj.Action.ToString(), obj.NewItems[0]);
case NotifyCollectionChangedAction.Move:
case NotifyCollectionChangedAction.Remove:
Console.WriteLine("当前线程:{0}, 操作是:{1} 数据:{2}", Thread.CurrentThread.ManagedThreadId, obj.Action.ToString(), obj.OldItems[0]);
case NotifyCollectionChangedAction.Replace:
case NotifyCollectionChangedAction.Reset:
Thread.Sleep(1000);
& & &从表象来看,CollectionChanged 已经完全的监控到了集合的各个动作,包括Add,Remove,很显然,这比我去轮训数据好多了,不过用的话,谁都会用,
关键是要看看怎么实现的,下面我们来剖析下。
二:简单分析下源码
  首先我们会发现,ObservableCollection继承了一个Collection并且实现了一个&属性通知&和&集合通知&的两个接口INotifyCollectionChanged,
&INotifyPropertyChanged)。
然后我们发现Add方法是由父类提供,然后调用ObservableCollection中提供了InsertItem方法,如下图。
可以看到,在我们上层的Add方法中,其实调用的是InsertItem方法,并且在最后我们看到了一个核心方法OnCollectionChanged,是不是很开心。。。。
下面跟着我一起去看看
最终我们开心的看到了这个类的触发机制,只不过是在Add/Remove方法的最后面做了一个事件触发的方法,同时我们也看到了,这是一个同步操作,这就意味着,
默认情况下,我的CollectionChanged逻辑是会阻止上层的Add操作的,这个需要特别注意。
阅读(...) 评论()}

我要回帖

更多关于 形容发生巨大的变化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信