Maison > développement back-end > C++ > Comment ajouter, trier et filtrer des propriétés dynamiques en C# ?

Comment ajouter, trier et filtrer des propriétés dynamiques en C# ?

DDD
Libérer: 2025-01-05 04:00:40
original
479 Les gens l'ont consulté

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

Création de propriétés dynamiques en C#

En C#, des propriétés statiques peuvent être créées pour une classe. Cependant, il peut être nécessaire d'ajouter dynamiquement des propriétés supplémentaires à un objet au moment de l'exécution. De plus, des capacités de tri et de filtrage peuvent être souhaitées.

Ajout de propriétés dynamiques

Pour y parvenir, un dictionnaire peut être utilisé. Par exemple, le code suivant utilise un dictionnaire pour stocker les propriétés dynamiques :

Dictionary<string, object> properties = new Dictionary<string, object>();
Copier après la connexion

Cela permet l'ajout dynamique de propriétés à l'objet en utilisant la syntaxe entre crochets :

properties["propertyName"] = value;
Copier après la connexion

Tri et filtrage

Pour implémenter le tri et le filtrage, l'exemple fourni utilise les méthodes Where et Select de LINQ pour filtrage et une classe de comparaison personnalisée pour le tri. Voici un exemple :

// 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);
Copier après la connexion

En employant ces techniques, des propriétés dynamiques peuvent être ajoutées à un objet au moment de l'exécution, ainsi que des capacités de tri et de filtrage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal