public void SynchroAdd(List<ListActions> ListActions1, ListActions NewItem) { ListActions1.Add(new ListActions { Action = NewItem.Action, ID = NewItem.ID, Expire = new Stopwatch() });//j'ajoute un clone avec un nouveau timer } public void SynchroRemove(List<ListActions> ListActions1, ListActions RemoveItem) { ListActions1.Remove(ListActions1.Find(c => c.ID == RemoveItem.ID));//je supprime l'item qui à le même ID }
public static int IdItem(List<ListActions> ListActions0, List<ListActions> ListActions1) { return ListActions0.Select(c => c.ID).Concat(ListActions1.Select(c => c.ID)).Distinct().First();//je concatène les ID des 2 Listes et je retourne celui qui est unique }
List<ListActions> ListActionsTemp = new List<ListActions>(); for (int i = 0; i < ListActions0.Count; i++) { if (ListActions1.Any(x => x.ID == ListActions0[i].ID)) { ListActionsTemp.Add(new ListActions { ID = ListActions0[i].ID, Action = ListActions0[i].Action, Expire = ListActions1.First(x => x.ID == ListActions0[i].ID).Expire }); } else { ListActionsTemp.Add(new ListActions { ID = ListActions0[i].ID, Action = ListActions0[i].Action, Expire = new Stopwatch() }); } } ListActionsTemp.Clear(); ListActions1 = ListActionsTemp.ToList();
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question