C # An observed set of Sets,
If you want to delete or add elements in the set, you can use the ObservableCollection <T> class. This class is defined for WPF, so that the UI can know the changes to the set. This class is defined in Assembly WindowsBase and needs to be referenced.
The ObservableCollection <T> class derives from the Collection <T> base class. This base class can be used to create a custom set and internally use the List <T> class. Override the Virtual Methods SetItem () and RemoveItem () of the base class to trigger the CollectionChanged event.
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(); }