Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 235
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

doppelte Zeilen aus DataTable löschen


Autor: Jan Welker
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 10606
  
Kick it on dotnet-kicks.de  

Beschreibung:

Diese Methode löscht doppelte Zeilen aus einer DataTable.

Abgelegt unter: DataTable, doppelt, DataRow.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/// <summary>
/// Removes duplicate rows in a DataTable.
/// </summary>
/// <param name="dataTable">The DataTable.</param> 
/// <param name="columnName">Name of the column</param>
private static void RemoveDuplicateRows(DataTable dataTable, string columnName) 
{
    Hashtable hashTable = new Hashtable();
    List<DataRow> duplicateList = new List<DataRow>();
    foreach (DataRow dataRow in dataTable.Rows)
        try
        {
            hashTable.Add(dataRow[columnName], string.Empty);
        }
        catch
        {
            duplicateList.Add(dataRow);
        }
    foreach (DataRow dataRow in duplicateList)
        dataTable.Rows.Remove(dataRow);
}

Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

dbl schrieb am:  08.05.2007 12:21:35

Bekantlicherweise sind Exceptions recht teuer, was Performance angeht, wäre eine Abfrage, ob bereits vorhanden nicht effektiver?

herbivore schrieb am:  11.05.2007 22:46:24

Es ist ein weit verbreitetes Gerücht, dass Exceptions teuer sind. Relativ teuer sind sie allenfalls im Debug-Modus. Für den Releasemodus gilt das nicht. Was letztendlich schneller ist, hängt davon ab, wieviele Einträge doppelt sind, denn die Abfrage mit Contains kostet bei jedem Schleifendurchlauf zusätzlich, die Exception nur, wenn ein Eintrag doppelt ist.


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.