当前位置:主页 > 软件编程 > .NET代码 >

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

时间:2023-02-08 08:42:36 | 栏目:.NET代码 | 点击:

如果需要集合中的元素何时删除或添加的信息,可以使用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();
        }

您可能感兴趣的文章:

相关文章