C#集合之可观察集合的用法

 更新时间:2022年04月12日 09:44:11   作者:Ruby_Lu  
这篇文章介绍了C#集合之可观察集合的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

如果需要集合中的元素何时删除或添加的信息,可以使用ObservableCollection<T>类。这个类是为WPF定义的,这样UI就可以得知集合的变化。这个类在程序集WindowsBase中定义,需要引用这个程序集。
ObservableCollection<T>类派生自Collection<T>基类,该基类可用于创建自定义集合,并在内部使用List<T>类。重写基类的虚方法SetItem()和RemoveItem(),以触发CollectionChanged事件。

    static void Main()
        {
          var data = new ObservableCollection<string>();
          data.CollectionChanged += Data_CollectionChanged;
          data.Add("One");
          data.Add("Two");
          data.Insert(1, "Three");
          data.Remove("One");

        }

        static void Data_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
          Console.WriteLine("action: {0}", e.Action.ToString());

          if (e.OldItems != null)
          {
            Console.WriteLine("starting index for old item(s): {0}", e.OldStartingIndex);
            Console.WriteLine("old item(s):");
            foreach (var item in e.OldItems)
            {
              Console.WriteLine(item);
            }
          }
          if (e.NewItems != null)
          {
            Console.WriteLine("starting index for new item(s): {0}", e.NewStartingIndex);
            Console.WriteLine("new item(s): ");
            foreach (var item in e.NewItems)
            {
              Console.WriteLine(item);
            }
          }

          Console.WriteLine();
        }

到此这篇关于C#集合之可观察集合的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 在Linux上运行C#的方法

    在Linux上运行C#的方法

    这篇文章主要介绍了在Linux上运行C#的方法,实例分析了Linux平台下Mono软件包的应用技巧,以及在此基础之上的C#运行方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • C#读取QQ纯真IP数据库QQWry.Dat的代码

    C#读取QQ纯真IP数据库QQWry.Dat的代码

    QQ纯真IP库算是IP地址收集较为全的一个IP库,对于IP查询来说这个是不错的选择。下面是如何查询纯真IP库的一个类,使用C#代码。
    2007-03-03
  • C++调用C#的DLL程序实现方法

    C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,具有一定的参考价值,下面就让我们一起来学习吧
    2015-10-10
  • C#中GraphicsPath的Flatten方法用法实例

    C#中GraphicsPath的Flatten方法用法实例

    这篇文章主要介绍了C#中GraphicsPath的Flatten方法,实例分析了Flatten方法的相关使用技巧,需要的朋友可以参考下
    2015-06-06
  • C#获取电脑硬件CPU信息的示例代码

    C#获取电脑硬件CPU信息的示例代码

    这篇文章主要为大家详细介绍了C#获取电脑硬件之CPU信息,以及它都有那些品牌,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以了解一下
    2024-01-01
  • 使用Npoi操作excel的解决办法

    使用Npoi操作excel的解决办法

    本篇文章,小编将为大家介绍,关于使用Npoi操作excel的解决办法,有需要的朋友可以参考一下
    2013-04-04
  • 用C#做网络爬虫的步骤教学

    用C#做网络爬虫的步骤教学

    在本篇内容里小编给大家分享的是关于用C#做网络爬虫的步骤和方法,需要的朋友们可以参考下。
    2018-12-12
  • C# Double转化为String时的保留位数及格式方式

    C# Double转化为String时的保留位数及格式方式

    这篇文章主要介绍了C# Double转化为String时的保留位数及格式方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C#属性get和set使用示例详解

    C#属性get和set使用示例详解

    属性是C#中的一种特殊成员,它允许外部以受控方式访问类的状态,属性通过get和set方法实现对类私有字段的读取和修改,本文给大家介绍C#属性get和set使用,感兴趣的朋友一起看看吧
    2024-09-09
  • C#泛型语法详解

    C#泛型语法详解

    本文详细讲解了C#中的泛型语法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07

最新评论