我正在尝试过滤一个列表,以便生成一个只有布里斯班郊区的列表?
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; }
}
答案 0 :(得分:24)
使用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()
方法都会返回一个新序列,您需要使用该引用进行捕获。