C#에서 DataTable에 컬럼(Column)을 삭제하는 방법에 대해 정리합니다.
특정 위치의 컬럼을 삭제
RemoveAt 메서드를 사용하여 지정된 인덱스의 컬럼을 삭제합니다.
public void RemoveAt (int index);
사용 방법
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));
// index가 1인 컬럼을 삭제
dt.Columns.RemoveAt(1);
컬럼 삭제 전
컬럼 삭제 후
index가 1인 Subject 컬럼이 삭제되었습니다.
특정 컬럼명을 삭제
Remove 메서드를 사용하여 특정 컬럼명을 삭제합니다.
매개변수로 string 또는 DataColumn 타입이 가능합니다.
public void Remove (String columnName);
사용 방법
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));
// 컬럼명이 "ID"인 컬럼을 삭제
dt.Columns.Remove("ID");
컬럼 삭제 전
컬럼 삭제 후
컬럼명이 "ID"인 컬럼이 삭제되었습니다.
특정 컬럼명이 존재하는지 확인 후 컬럼 삭제
Contains 메서드를 사용하여 컬럼명이 존재하는지 확인 후 컬럼을 삭제합니다.
Remove 메서드의 문제는 컬럼명이 DataTable에 존재하지 않는데, 삭제를 하려고 하면 예외가 발생합니다.
이러한 예외를 방지하기 위해 Contains 메서드를 사용하여 컬럼명을 체크합니다.
사용 방법
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));
if (dt.Columns.Contains("TEST")) {
dt.Columns.Remove("TEST");
}
Console.WriteLine(dt.ToString());
모든 컬럼을 삭제
Clear 메서드를 사용하여 모든 컬럼을 삭제합니다.
public void Clear ();
사용 방법
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));
// 모든 컬럼을 삭제
dt.Columns.Clear();
컬럼 삭제 전
컬럼 삭제 후
반응형
'C#' 카테고리의 다른 글
[C#]DataTable 행(Row) 삭제 방법 (0) | 2021.08.08 |
---|---|
[C#]DataTable 최대, 최소, 합계, 평균값 구하기 (0) | 2021.08.07 |
[C#]StringComparison 열거형 (0) | 2021.08.01 |
[C#]DataTable 복사(Copy)와 복제(Clone) 방법 (0) | 2021.07.27 |
[C#]DataTable에 컬럼(Column) 추가하는 방법 (0) | 2021.07.26 |
댓글