Мы могли бы иметь:
var q = (from dr in dt.AsEnumerable() select dr).Distinct(DataRowComparer.Default);
Но на самом деле, from x in ... select x
избыточен, поэтому мы можем иметь:
var q = dt.AsEnumerable().Distinct(DataRowComparer.Default);
Но все AsEnumerable()
выполнят большую частьвремя, либо ничего (если оно уже есть), либо потенциально замедляет работу (если отличное может быть обработано лучше в другом месте), поэтому обычно лучше это сделать:
var q = dt.Distinct(DataRowComparer.Default);
Хотя бывают случаи, когда первоебьет последний.