【发布时间】:2021-05-15 19:47:15
【问题描述】:
我有一个字符串列表,如果列表中的某些项目与单独的对象列表中的字符串值匹配,我想对其进行迭代并更改值。
用户将电子邮件地址输入到包含 EventMembers 列表的 Event 对象中:
List<string> EventMembers
然后我想检查数据库中的所有用户以找到与输入的电子邮件地址匹配的用户名(电子邮件地址)
我知道我无法使用 foreach 循环更改列表中的值,但我不知道如何处理 linq。基本上我正在尝试做这样的事情:
var allUsers = _userManager.Users
foreach (var a in allUsers)
{
foreach (var e in @event.EventMembers)
{
if (e == a.UserName)
{
e = a.FirstName + a.LastName;
}
}
}
【问题讨论】:
-
不要使用 LINQ,只需使用
for循环。正常的 LINQ 将无法工作,因为您将收到“Collection Changed”异常。
标签: c# asp.net list linq model-view-controller