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

标签 c# lambda

我正在尝试过滤列表,以便生成仅包含布里斯类郊区的列表?

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 return IEnumerable<T> .我通常使用 var 捕获结果,但您可以使用 ToList()将结果也投影到列表中。仅取决于您稍后需要对列表执行的操作。

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

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

关于c# - 如何使用 lambda 表达式过滤 C# 中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9799109/

相关文章:

go - 类似于 Go 中的 lambda 表达式(合并类似的方法)

java - 为何有效:BigDecimal Sum with Reduce 和 BigDecimal::add

python - 使用 lambda (python) 查找矩阵中的列索引

避免多次迭代的 Java Lambda 表达式

c# - 为 T-SQL 字符串文字正确的字符串转义

c# - 解决MVVM项目以及MainViewModel/Model尺寸不断增加的想法?

c# - lambda 的保护检查

c# - Xamarin.Forms 2.2 的签名板

c# - 如何让 VS2013 中的 CodeMap 针对 SQL Server 2014 Express 实例运行?

c# - SqlFileStream - 插入而不产生空文件