搜索列表并在该特定索引处更新

时间:2015-03-08 18:08:05

标签: c# asp.net

我试图按索引对列表中的项目进行简单修改。

让我们在我的foreach循环中说:

    foreach (User usr in userList)
    {
        if (uname.Text == usr.uname)

如果它与我输入的内容相匹配,我该如何更新该特定索引中的整个项目?谢谢!

2 个答案:

答案 0 :(得分:1)

如果要为特定索引处的项目分配新实例,请使用for循环:

for(int i = 0; i<userList.Count; i++)
{
      if (uname.Text == userList[i].uname)
      {
           userList[i] = /* new instance */
      }
}

答案 1 :(得分:0)

假设userList中的每个对象都包含(uname,密码,地址,电话,电子邮件),代码应如下所示:

foreach (User usr in userList)
{
    if (uname.Text == usr.uname)
    {
        uname.Email= newEmail; // where newEmail is local variable with new value for password
        uname.Phone = newPhone;
        // ... changing other properties, just don't change Password property
    }
 }

基本上,当您找到要更改的对象时,可以直接访问其公共属性和方法。