使用foreach从List中过滤对象

本文关键字:过滤 对象 List foreach 使用 | 更新日期: 2023-09-27 18:06:04

嗨,我有一个对象列表,但我如何过滤它到另一个列表?

,

public class Person
{
    public string FirstName;
    public string Language;
    public Person (string FirstName, string Language)
    {
        this.FirstName = FirstName;
        this.LastName = Language;            
    }
 }

创建列表:

public List<Person> createDummyList()
{
  List<Person> dummyList = new List<Person>();
  dummyList.Add(new Person("Per", "English"));
  dummyList.Add(new Person("Linda", "Spanish"));
}

我怎么能得到一个列表与语言,然后绑定它说一个下拉菜单。我尝试过这样的东西,但得到一个空引用…

public void filterList(List<Person> ListToBeFiltered)
{
    List<string> LanguageList = new List<string>();
    ListToBeFiltered.ForEach(delegate(Person P) 
    {
       LanguageList.Add(P.Language);
    });
    DropDown.datasource = LanguageList;
    DropDown.databind();
 }
谁能给我指个正确的方向?

使用foreach从List中过滤对象

IEnumerable<string> languageList = listToBeFiltered.Select(p=>p.Language)
                                                   .Distinct()
                                                   .ToList();
public void filterList(List<Person> ListToBeFiltered)
{
        DropDown.datasource = ListToBeFiltered.Select(p=>p.Language).Distinct();
        DropDown.databind();
}