Хорошо, поэтому я посмотрел на блог, который указал мне Пандия. В разделе комментариев глава Kevin Morris опубликовал решение с использованием словаря C#, который работал для меня.
В моем главном блоке, я писал:
string keyColumn = "Website";
RemoveDuplicates(table1, keyColumn);
И моя функция RemoveDuplicates была определена как:
private void RemoveDuplicates(DataTable table1, string keyColumn)
{
Dictionary<string, string> uniquenessDict = new Dictionary<string, string>(table1.Rows.Count);
StringBuilder sb = null;
int rowIndex = 0;
DataRow row;
DataRowCollection rows = table1.Rows;
while (rowIndex < rows.Count - 1)
{
row = rows[rowIndex];
sb = new StringBuilder();
sb.Append(((string)row[keyColumn]));
if (uniquenessDict.ContainsKey(sb.ToString()))
{
rows.Remove(row);
if (RemoveAllDupes)
{
row = rows[rowIndex - 1];
rows.Remove(row);
}
}
else
{
uniquenessDict.Add(sb.ToString(), string.Empty);
rowIndex++;
}
}
}
Если вы идете в the blog, вы можете найти более общую функцию, которая позволяет нюхают дублирует несколько столбцов. Я добавил флаг - RemoveAllDupes - в случае, если я хочу удалить все повторяющиеся строки, но это по-прежнему предполагает, что строки упорядочены по имени и включает в себя только дубликаты, а не трипликаты, четверики и т. Д. Если кто-либо может, пожалуйста, обновите этот код, чтобы отразить его удаление.
Это не сработало, и я не хотел этого делать изначально. Я хотел внести изменения в данные, не включив никаких дополнительных наборов данных. Но спасибо, что указал мне в правильном направлении. Я посмотрел блог и получил то, что мне нужно :) – Freakishly