溫馨提示×

如何在 LINQ 查詢中使用 PropertyName

小樊
101
2024-07-08 17:14:18
欄目: 深度學習

在 LINQ 查詢中使用 PropertyName,可以通過使用反射來動態獲取屬性名稱,然后在查詢中使用該屬性名稱。以下是一個示例:

假設有一個名為 Person 的類,其中有一個屬性為 Name:

public class Person
{
    public string Name { get; set; }
}

現在假設有一個 List<Person> 類型的集合,我們想要查詢這個集合中所有 Name 屬性為 “John” 的對象??梢酝ㄟ^以下方式使用 PropertyName:

List<Person> persons = new List<Person>
{
    new Person { Name = "John" },
    new Person { Name = "Mary" },
    new Person { Name = "John" }
};

string propertyName = "Name";
string propertyValue = "John";

var results = persons.Where(p => p.GetType().GetProperty(propertyName).GetValue(p).ToString() == propertyValue);

foreach (var person in results)
{
    Console.WriteLine(person.Name);
}

在上面的示例中,我們首先定義了要查詢的屬性名稱和屬性值。然后在 LINQ 查詢中使用 GetType().GetProperty(propertyName).GetValue(p) 來獲取屬性值,并將其與指定的屬性值進行比較。最后,我們將查詢結果打印出來。

請注意,使用反射來獲取屬性值可能會降低性能,因此應慎重使用。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女