Как уже упоминалось в комментариях, в большинстве случаев Id
не следует изменять, потому что это уникальная идентификация объекта. Но если вы имеете в виду индекс объекта , это можно сделать следующим образом:
var list = new List<LicenseDataGrid>
{
new LicenseDataGrid { Id= 1, name = "A"},
new LicenseDataGrid { Id= 2, name = "B"},
new LicenseDataGrid { Id= 3, name = "C"}
};
foreach (var license in list)
{
Console.WriteLine(license.Id);
}
list.RemoveAt(1);
for (var i = 0; i < list.Count; i++) // here's magic
{
list[i].Id = i + 1;
}
foreach (var license in list)
{
Console.WriteLine(license.Id);
}
Вам следует обновить поле Id
вручную после удаления элемента из списка. Это просто, потому что List имеет свойство Item по умолчанию, поэтому вы будете знать реальную позицию в списке для каждого элемента.