immagino hanno un elenco di elementi:modifiche replicarsi in un elenco
- A - B - C
Ora da qualche parte un server indica la mia applicazione quell'elemento B
è stato rimosso, tuttavia fornisce solo l'intera nuova lista, non il cambiamento esatto dettagli. Poiché WinRT ListView
s animano automaticamente l'aggiunta, la rimozione e lo spostamento di oggetti al loro interno, preferirei non aggiornare l'elenco di accompagnamento e richiamare un Reset- INotifyCollectionChanged
-event, poiché questo rende ogni elemento apparentemente piuttosto smussato e ruvido. Invece, voglio calcolare i passaggi necessari per trasformare la mia lista locale nella lista che ottengo dal server. (Un po 'come una distanza di levenshtein, solo non con il conteggio dei passi ma con i passi stessi)
e. g .:
1. Delete element B 2. Add new element D to position 3
Come faccio?
MODIFICA: Ordine importa nel mio caso.
Si potrebbe guardare algoritmi diff - https://en.wikipedia.org/wiki/Diff_utility –