C# 更新列表<;字符串>;使用linq C的值#
我有一个字符串列表,如果列表中的某些项与单独的对象列表中的字符串值匹配,我希望迭代并更改这些值 用户将电子邮件地址输入到包含EventMember列表的事件对象中:C# 更新列表<;字符串>;使用linq C的值#,c#,asp.net,list,linq,model-view-controller,C#,Asp.net,List,Linq,Model View Controller,我有一个字符串列表,如果列表中的某些项与单独的对象列表中的字符串值匹配,我希望迭代并更改这些值 用户将电子邮件地址输入到包含EventMember列表的事件对象中: List<string> EventMembers 最好是定义一个成员的初始集合,这样在foreach仍在运行时就不会一直修改列表。然后,您可以检查EventMembers是否包含用户名,然后通过使用索引访问该值来替换用户名 var allUsers = _userManager.Users; List<stri
List<string> EventMembers
最好是定义一个成员的初始集合,这样在foreach仍在运行时就不会一直修改列表。然后,您可以检查
EventMembers
是否包含用户名,然后通过使用索引访问该值来替换用户名
var allUsers = _userManager.Users;
List<string> Members;
foreach (var a in allUsers)
{
if (@event.EventMembers.Contains(a.UserName))
{
var index = @event.Members.IndexOf(a.UserName);
Members[index] = a.FirstName + a.LastName;
}
}
EventMembers = Members;
var allUsers=\u userManager.Users;
成员名单;
foreach(诱惑中的a类风险)
{
if(@event.EventMembers.Contains(a.UserName))
{
var index=@event.Members.IndexOf(a.UserName);
成员[索引]=a.FirstName+a.LastName;
}
}
EventMembers=成员;
不要使用LINQ,只需使用for
循环即可。正常的LINQ将无法工作,因为您将得到“集合更改”异常。这是有效的。我不需要定义初始集合。我只是在If块中使用了代码,它工作得很好。谢谢
var allUsers = _userManager.Users;
List<string> Members;
foreach (var a in allUsers)
{
if (@event.EventMembers.Contains(a.UserName))
{
var index = @event.Members.IndexOf(a.UserName);
Members[index] = a.FirstName + a.LastName;
}
}
EventMembers = Members;