Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menambah, Mengisih, dan Menapis Sifat Dinamik dalam C#?

Bagaimana untuk Menambah, Mengisih, dan Menapis Sifat Dinamik dalam C#?

DDD
Lepaskan: 2025-01-05 04:00:40
asal
480 orang telah melayarinya

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

Mencipta Sifat Dinamik dalam C#

Dalam C#, sifat statik boleh dibuat untuk kelas. Walau bagaimanapun, keperluan mungkin timbul untuk menambah sifat tambahan secara dinamik pada objek semasa masa jalan. Selain itu, keupayaan pengisihan dan penapisan mungkin diingini.

Menambah Sifat Dinamik

Untuk mencapai matlamat ini, kamus boleh digunakan. Sebagai contoh, kod berikut menggunakan kamus untuk menyimpan sifat dinamik:

Dictionary<string, object> properties = new Dictionary<string, object>();
Salin selepas log masuk

Ini membolehkan penambahan sifat dinamik pada objek menggunakan sintaks kurungan segi empat sama:

properties["propertyName"] = value;
Salin selepas log masuk

Isih dan Penapisan

Untuk melaksanakan pengisihan dan penapisan, contoh yang disediakan menggunakan Kaedah Where and Select LINQ untuk penapisan, dan kelas pembanding tersuai untuk pengisihan. Berikut ialah contoh:

// 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);
Salin selepas log masuk

Dengan menggunakan teknik ini, sifat dinamik boleh ditambahkan pada objek pada masa jalan, bersama-sama dengan keupayaan pengisihan dan penapisan.

Atas ialah kandungan terperinci Bagaimana untuk Menambah, Mengisih, dan Menapis Sifat Dinamik dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan