Каков наилучший способ подхода к удалению элементов из коллекции на С#, как только элемент известен, но не индекс. Это один из способов сделать это, но в лучшем случае он кажется неэлегантным.
//Remove the existing role assignment for the user.
int cnt = 0;
int assToDelete = 0;
foreach (SPRoleAssignment spAssignment in workspace.RoleAssignments)
{
if (spAssignment.Member.Name == shortName)
{
assToDelete = cnt;
}
cnt++;
}
workspace.RoleAssignments.Remove(assToDelete);
То, что я действительно хотел бы сделать, это найти элемент для удаления по свойству (в данном случае, имя), без цикла всей коллекции и использования 2 дополнительных переменных.