繁体   English   中英

如何使用lambda表达式过滤C#中的列表?

[英]How to filter a list in C# with lambda expression?

我试图过滤一个列表,这样就会产生一个只有布里斯班郊区的列表?

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; }
    }

使用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()方法都返回一个您需要使用引用捕获的新序列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM