У меня на WinForms есть список, в котором пользователи могут перемещать элементы вверх и вниз, и этот список также совпадает со списком, который у меня есть, и мне было интересно, как будет наиболее эффективный способ поддерживать обе синхронизации.
например, чтобы переместить предмет вниз, у меня есть:
int i = this.recoveryList.SelectedIndex;
object o = this.recoveryList.SelectedItem;
if (i < recoveryList.Items.Count - 1)
{
this.recoveryList.Items.RemoveAt(i);
this.recoveryList.Items.Insert(i + 1, o);
this.recoveryList.SelectedIndex = i + 1;
}
А у меня есть:
public List<RouteList> Recovery = new List<RouteList>();
Который я бы хотел обновлять в списке.
Должен ли я просто очистить Восстановление и обновить данные текущего списка или есть лучший способ обновления как при движении вверх, так и вниз?
Я в основном спрашиваю, потому что типы из списка в список отличаются.