5 Stimmen

Einstellvorgang in .NET C#

Ich arbeite gerade an einem Projekt, das mit Roughset zu tun hat. Das Projekt verwendet eine Menge von Sets Betrieb und Manipulation. Ich habe mit String-Operationen als eine Lücke Maßnahme für Set-Operation. Es hat gut funktioniert, bis wir brauchen, um einige ungodly Menge von Daten (500.000 Datensätze mit etwa 40 + Spalten jeder) durch den Algorithmus zu verarbeiten.

Ich weiß, dass es keine Set-Datenstruktur in .net 2.0 (2.0 war die neueste, wenn ich das Projekt gestartet) Ich möchte wissen, ob es jede Bibliothek, die schnelle Set-Operation in .net c# bieten oder wenn 3.5 hat native Set-Datenstruktur hinzugefügt.

Danke.

11voto

Jon Limjap Punkte 92084

.NET 3.5 verfügt bereits über einen nativen Set-Datentyp: HashSet . Sie sollten sich auch Folgendes ansehen HashSet- und LINQ-Mengenoperatoren für die Operationen.

In .NET 1.0 gab es einen Drittanbieter-Datentyp Set: Iesi.Sammlungen die mit .NET 2.0 Generika erweitert wurde mit Iesi.Collections.Generic .

Vielleicht sollten Sie sich alle ansehen, um herauszufinden, welche für Sie am besten geeignet ist :)

5voto

aku Punkte 118808

LINQ unterstützt einige Mengenoperationen. Siehe LINQ 101 Seite für Beispiele.
Außerdem gibt es eine Klasse HashSet (.NET 3.5)


Hier sind die Microsoft-Richtlinien für Set-Operationen in .NET:

HashSet und LINQ Mengenoperationen

Liste der von der HasSet-Klasse unterstützten Mengenoperationen:

HashSet Sammlung Typ

2voto

Gulzar Nazim Punkte 51098

Update: Dies ist für .Net 2.0. Für .Net 3.5, siehe Beiträge von aku, Jon

Dies ist eine gute Referenz für effiziente Darstellung von Mengen in .Net .

2voto

Eltariel Punkte 1308

Es kann sich lohnen, einen Blick zu werfen auf C5 Es handelt sich um eine generische Sammlungsbibliothek für .NET, die Sets enthält.

Ich habe mich noch nicht eingehend damit befasst, aber es scheint sich um eine ziemlich fantastische Bibliothek zu handeln.

1voto

Ash Punkte 58914

Versuchen Sie HashSet in .NET 3.5.

Diese Seite von einem Mitglied des .NET BCL-Teams enthält einige gute Informationen über den Zweck von HashSet

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X