나는 코드 나는 그들이 다른 모음에없는 경우 수집에서 약간의 "일"을 제거 할는 DataTable의에서를 DataColumn을 제거하는 방법 프로그래밍
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)
을 할 것입니다하지만 여분의 메모리를 사용하고 있습니다.
루프 백 워드 ... – Plutonix
@Plutonix 이걸 좋아하니? 'for (inedx = this.dataTable.Columns.Count - 1; index> = 0; index ++)'또는 더 좋은 방법이 있습니까? – SimpleGuy