2 Stimmen

Schnelle Auswahl von Elementen aus einer Menge, basierend auf einer Eigenschaft

Wie kann ich mehrere Werte einer großen Menge speichern, um sie schnell mit einem Lambda-Ausdruck auf der Grundlage einer Eigenschaft mit nicht eindeutigen Werten zu finden?

Beispielfall (nicht auf Leistung optimiert):

class Product
{
    public string Title { get; set; }
    public int Price { get; set; }
    public string Description { get; set; }
}

IList<Product> products = this.LoadProducts();

var q1 = products.Where(c => c.Title == "Hello"); // 1 product.
var q2 = products.Where(c => c.Title == "Sample"); // 5 products.
var q3 = products.Where(c => string.IsNullOrEmpty(c.Title)); // 12 345 products.

Wenn der Titel eindeutig wäre, wäre es einfach, die Leistung durch die Verwendung von IDictionary o HashSet . Aber was ist mit dem Fall, dass die Werte nicht eindeutig sind?

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