我正在尝试过滤列表,以便生成仅包含布里斯类郊区的列表?
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()
请注意,使用上述内容您不必分配新列表。 Where
和 ToList()
方法都返回一个新的序列,您只需要用引用捕获它。
关于c# - 如何使用 lambda 表达式过滤 C# 中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9799109/