首頁 > 後端開發 > C++ > 如何在 C# 中新增、排序和篩選動態屬性?

如何在 C# 中新增、排序和篩選動態屬性?

DDD
發布: 2025-01-05 04:00:40
原創
484 人瀏覽過

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

在 C# 中建立動態屬性

在 C# 中,可以為類別建立靜態屬性。然而,可能會出現在運行時向物件動態添加附加屬性的要求。此外,可能還需要排序和過濾功能。

新增動態屬性

要實現此目的,可以使用字典。例如,以下程式碼使用字典來儲存動態屬性:

Dictionary<string, object> properties = new Dictionary<string, object>();
登入後複製

這允許使用方括號語法將物件動態新增屬性:

properties["propertyName"] = value;
登入後複製

排序和過濾

為了實現排序和過濾,提供的範例利用了LINQ的Where選擇用於過濾的方法,以及用於排序的自訂比較器類別。以下是一個範例:

// 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);
登入後複製

透過採用這些技術,可以在運行時向物件添加動態屬性以及排序和過濾功能。

以上是如何在 C# 中新增、排序和篩選動態屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板