Удаление элемента (любым способом) из одного списка, ведет к удалению его же из другого - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста. Такая проблема. В классе создано два списка объектов. Первый все загруженные с БД объекты, второй хранит выбранные из него. Так вот, удаление элемента(любым способом) из одного списка, ведет к удалению его же из другого.
private static List<Report> testsdata = new List<Report>();
private static List<Report> selectedData = new List<Report> ();
 
        void crt_toggled (object o, ToggledArgs args)
        {       
            TreeIter iter;
            try {
                
                if (store.GetIter (out iter, new TreePath (args.Path))) {
        
                    int selectedRow = (Convert.ToInt16 (store.GetPath (iter).ToString ()));
 
                    if (selectedRow == 0) {
    
                        old = (bool)store.GetValue (iter, 0);
 
                        if (old == false) {
 
                            selectedData = testsdata;   
                            
                            if (store.GetIterFirst (out iter)) {
                
                                do {
                                    store.SetValue (iter, 0, true);
                                } while (store.IterNext (ref iter));                    
                            }
                        } else {
            
                            selectedData = new List<Report> ();
 
                            if (store.GetIterFirst (out iter)) {
                                do {
                                    store.SetValue (iter, 0, false);
                                } while (store.IterNext (ref iter));
                            }
                        }                   
                    } else {
 
                        if (store.GetIter (out iter, new TreePath (args.Path))) {
                
                            old = (bool)store.GetValue (iter, 0);   
                            store.SetValue (iter, 0, !old);
                        }
 
                        if (old == false) {
                        
                            selectedData.Add (testsdata [selectedRow - 1]);
    
                        } else {
        
                            selectedData.Remove (testsdata[selectedRow - 1]);
 
                        }
                    }
                }
            } catch (System.Exception ex) {
                Сontroller.MessageBox.Show (ex.ToString ());
            }
        }

Решение задачи: «Удаление элемента (любым способом) из одного списка, ведет к удалению его же из другого»

textual
Листинг программы
    foreach (Report reporttemp in testsdata) {
            selectedData.Add (reporttemp);  
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы