如何使用 Lambda 表达式在 C# 中过滤列表?

21
我试图筛选一个列表,以便结果是一个只包含布里斯班市区的列表?
c#
Temp t1 = new Temp() { propertyaddress = "1 russel street",  suburb = "brisbane" };
            Temp t2 = new Temp() { propertyaddress = "12 bret street", suburb = "sydney" };
            List<Temp> tlist = new List<Temp>();
            tlist.Add(t1);
            tlist.Add(t2);

            List<Temp> tlistFiltered = new List<Temp>();
            //tlistFiltered. how to filter this so the result is just the suburbs from brisbane?

public class Temp
    {
        public string propertyaddress { get; set; }
        public string suburb { get; set; }
    }
1个回答

37

使用 Where 子句来过滤一个序列

 var tlistFiltered = tlist.Where(item => item.suburb == "brisbane")

LINQ表达式,如Where返回IEnumerable<T>。通常我会使用var来捕获结果,但是你也可以使用ToList()将结果投影为列表。这取决于你以后需要对列表做什么。

List<Temp> tlistFiltered = tlist
    .Where(item => item.suburb == "brisbane")
    .ToList()

请注意,使用上述方法,您不需要分配新的列表。 WhereToList() 方法都会返回一个新序列,您只需要使用引用来捕获它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接