私は、次のしている:私はループの途中でコレクションを修正していますので、リストの反復処理中にListを変更することはできますか?
foreach (var depthCard in depthCards)
{
var card = InternalGetCard(db, depthCard.CardId);
var set = InternalGetSet(db, (int)card.ParentSetId);
var depthArray = InternalGetDepthArrayForCard(db, set.SetId);
foreach (var cardToUpdate in set.Cards)
{
// do stuff
SaveChanges(db);
depthCards.Remove(depthCardToUpdate); // since I already took care of it here, remove from depthCards
}
}
これはかかわらず、機能していません。私の質問は...このタイプのアクセスを許可するコレクションがありますか?
私が既に持っているので、深さカードをToList()にしたくないのですが、は、私が反復しているので、そのリストを変更するにはが必要です。出来ますか?
は常に前に '結果を絞り込むために'のForEachを(やっ前で '()'ステートメント)を追加することができますその条件付き削除の場合は、それらを削除します。 –
@Bob .:いいえ、それは 'List'ではなく、 'List.ForEach'メソッドをサポートしていない' IEnumerable 'です。 'foreach'しか使用できませんでしたが、ループ内のリストを変更することはできません。 –
ToList()は何のためのものではありませんか? –