경험
DataTable의 데이터를 DB에 넣거나, 혹은 DataTable의 값을 가지고 다양하게 변형을 시키는 경우가 있습니다. 이때 중복된 데이터가 있다면 오류를 발생하기 쉽습니다. 이때, 아주 간단한 방법으로 중복된 데이터를 제거 할 수 있습니다.
중복된 데이터 생성
class Program
{
static void Main(string[] args)
{
CreateDataTable cDt = new CreateDataTable();
DataTable dt = cDt.GetDataTable;
foreach (DataRow dRow in dt.Rows)
Console.WriteLine($"{dRow[0]} : {dRow[1]}");
}
}
public class CreateDataTable
{
private DataTable _dt = new DataTable();
public CreateDataTable()
{
_dt = new DataTable();
_dt.Columns.Add("Name", typeof(string));
_dt.Columns.Add("age", typeof(int));
_dt.Rows.Add("양뱅", 33);
_dt.Rows.Add("양뱅", 33);
_dt.Rows.Add("쏭", 31);
_dt.Rows.Add("정태", 30);
_dt.Rows.Add("쩌주", 29);
}
public DataTable GetDataTable => _dt;
}
결과
양뱅 : 33
양뱅 : 33
쏭 : 31
정태 : 30
쩌주 : 29
중복 제거 방법
class Program
{
static void Main(string[] args)
{
CreateDataTable cDt = new CreateDataTable();
DataTable dt = cDt.GetDataTable;
//이 부분이 중요!!!
dt = dt.DefaultView.ToTable(true);
foreach (DataRow dRow in dt.Rows)
Console.WriteLine($"{dRow[0]} : {dRow[1]}");
}
}
결과
양뱅 : 33
쏭 : 31
정태 : 30
쩌주 : 29