Heim >Backend-Entwicklung >C++ >Wie füge ich dynamische Eigenschaften in C# hinzu, sortiere und filtere sie?

Wie füge ich dynamische Eigenschaften in C# hinzu, sortiere und filtere sie?

DDD
DDDOriginal
2025-01-05 04:00:40527Durchsuche

How to Add, Sort, and Filter Dynamic Properties in C#?

Dynamische Eigenschaften in C# erstellen

In C# können statische Eigenschaften für eine Klasse erstellt werden. Allerdings kann es erforderlich sein, einem Objekt zur Laufzeit dynamisch zusätzliche Eigenschaften hinzuzufügen. Darüber hinaus können Sortier- und Filterfunktionen erwünscht sein.

Hinzufügen dynamischer Eigenschaften

Um dies zu erreichen, kann ein Wörterbuch eingesetzt werden. Der folgende Code verwendet beispielsweise ein Wörterbuch zum Speichern der dynamischen Eigenschaften:

Dictionary<string, object> properties = new Dictionary<string, object>();

Dies ermöglicht das dynamische Hinzufügen von Eigenschaften zum Objekt mithilfe der eckigen Klammersyntax:

properties["propertyName"] = value;

Sortieren und Filtern

Um Sortieren und Filtern zu implementieren, verwendet das bereitgestellte Beispiel die Where- und Select-Methoden von LINQ Filterung und eine benutzerdefinierte Vergleichsklasse zum Sortieren. Hier ist ein Beispiel:

// Example comparer class for sorting
public class Comparer<T> : IComparer<ObjectWithProperties> where T : IComparable
{
    string attributeName;

    public Comparer(string attributeName)
    {
        this.attributeName = attributeName;
    }

    public int Compare(ObjectWithProperties x, ObjectWithProperties y)
    {
        return ((T)x[attributeName]).CompareTo((T)y[attributeName]);
    }
}

// Example of filtering
var filteredObjects = from obj in objects
                 where (int)obj["propertyName"] >= 150
                 select obj;

// Example of sorting
Comparer<int> comparer = new Comparer<int>("propertyName");
objects.Sort(comparer);

Durch den Einsatz dieser Techniken können einem Objekt zur Laufzeit dynamische Eigenschaften sowie Sortier- und Filterfunktionen hinzugefügt werden.

Das obige ist der detaillierte Inhalt vonWie füge ich dynamische Eigenschaften in C# hinzu, sortiere und filtere sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn