2016-08-16 21 views
0

私はリストのforeachを持っています。私はリストを更新したい、あるいは新しい値を使って新しいものを作成したいと思います。これを行う方法 ? 私は解読しているので、私のコードはこれよりも大きくなっていますが、このシンプルで助けてくれれば、もう一方を修正します。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); 
    } 

THANKS!

答えて

2

リストを変更する場合はの場合はを使用します。 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); 
      } 
+0

可能であれば、自分のコードを修正してください。私は初心者で、私が言ったように、私は知らないよ –

+0

@MarceloCFernandesはあなたのために働くかどうか私に知らせる – Alexandr

+0

ありがとう!!しかし、今、私は "enenvido envolvido = ListaDados.ItemsSource [index];という行に" ienumerable型の式に索引付けを適用できません "というエラーが出ました。 –

関連する問題