私はコードをもっている
foreach (DataColumn dataTableCol in this.dataTable.Columns)
{
bool columnFound = false;
foreach (GRTColumnView uiColumn in descriptor.UIColumns)
{
if (dataTableCol.ColumnName.Equals(uiColumn.Name))
{
columnFound = true;
break;
}
}
if (!columnFound)
{
if (this.dataTable.Columns.Contains(dataTableCol.ColumnName))
this.dataTable.Columns.Remove(dataTableCol.ColumnName);
}
}
別のコレクションに見つからない場合、コレクションからいくつかの「もの」を削除したいと考えています。
上記のプログラムを実行すると、
コレクションが変更されたため、反復が実行されない場合があります
「コレクションが変更されました」 - 削除がヒットしたに違いない
そのようなことを達成する方法は何ですか?
私が考えることができるのは、削除するすべての「もの」を書き留めてから、
foreach( aThing in all_things_to_remove)
remove_from_collection(aThing)
しかし、別のループを実行する必要があり、余分なメモリを使用しているため、上記は私には良い方法ではないようです