함수 호출에서 다시 전달되는 DataTable을 얻는 DataSet이 있습니다. 15-20 개의 열이 있지만 10 개의 데이터 열만 필요합니다.
원하지 않는 열을 제거하고 원하는 열만 정의 된 다른 열로 DataTable을 복사하거나 컬렉션을 반복하고 필요한 열을 사용하는 것이 더 낫습니다.
고정 길이 데이터 파일에 값을 써야합니다.
답변
대역폭과 메모리를 줄이기 위해 선택한 열을 제한하는 것 외에도 :
DataTable t;
t.Columns.Remove("columnName");
t.Columns.RemoveAt(columnIndex);
답변
원하는 열 이후의 모든 열을 제거하려면 아래 코드가 작동해야합니다. 열 수가 10 개 이하가 될 때까지 인덱스 10에서 제거됩니다 (열이 0 기반임을 기억).
DataTable dt;
int desiredSize = 10;
while (dt.Columns.Count > desiredSize)
{
dt.Columns.RemoveAt(desiredSize);
}
답변
질문은 이미 답변 된 것으로 표시되었지만 그 사람이 DataTable
.
그래서 여기에 동일한 문제가 발생했을 때 제가 한 일이 있습니다.
string[] ColumnsToBeDeleted = { "col1", "col2", "col3", "col4" };
foreach (string ColName in ColumnsToBeDeleted)
{
if (dt.Columns.Contains(ColName))
dt.Columns.Remove(ColName);
}