0

リストの 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);
    }

ありがとう!

4

1 に答える 1

3

リストの変更に使用します。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);
          }
于 2016-08-16T18:42:56.940 に答える