如何在foreach中更新列表

本文关键字:更新 列表 foreach | 更新日期: 2023-09-27 18:02:35

我有一个列表的foreach,我想更新列表或(我不知道哪个更好)用新值创建一个新的。如何做到这一点?我的代码比这更大,因为我正在解密,但如果帮我这个简单,将修复其他。

foreach (Envolvido envolvido in ListaDados.ItemsSource)
{
  for (int i = 0; i < ListaDados.ItemsSource.OfType<object>().Count(); i++)
  {
     var suspid = Convert.FromBase64String(envolvido.SUSPID);
     var ivnome = Convert.FromBase64String(envolvido.IVNOME);
  }
}

所以,在大家的帮助下,我得到了正确的答案!

 List<Envolvido> mylist = t.Result;
 for (int index = 0; index < mylist.Count(); index++)
                          {
    var items = mylist.ToList();
    Envolvido envolvido = items[index];
    envolvido.SUSPID= Convert.FromBase64String(envolvido.SUSPID);
    envolvido.IVNOME = Convert.FromBase64String(envolvido.IVNOME);
    }

谢谢!

如何在foreach中更新列表

使用修改列表。不是foreach。

MSDN上写着:

foreach语句用于遍历集合以获取所需的信息,但不能用于从源集合中添加或删除项,以避免不可预测的副作用。如果需要从源集合中添加或删除项,请使用for循环。

        List<Envolvido> mylist = t.Result;
         for (int index = 0; index < mylist.Count(); index++)
         {
             var items = mylist.ToList();
             Envolvido envolvido = items[index];
             envolvido.SUSPID= Convert.FromBase64String(envolvido.SUSPID);
             envolvido.IVNOME = Convert.FromBase64String(envolvido.IVNOME);
          }