一旦项目已知,但不是它的索引,从 C# 中的集合中删除项目的最佳方法是什么?这是一种方法,但充其量似乎是不雅的。
//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 个附加变量。