C# 使用LINQ,如何根据部分字符串属性筛选集合?
我收集了一些汽车用品C# 使用LINQ,如何根据部分字符串属性筛选集合?,c#,linq,ienumerable,C#,Linq,Ienumerable,我收集了一些汽车用品 IEnumerable<Car> IEnumerable 我想根据car.Name属性中包含特定文本的部分字符串匹配(不必是startswith)返回一个过滤后的car对象集合 这可以使用LINQ吗 from c in cars where c.Name.Contains("certain text") select c 或 IEnumerable cars=。。。 var filteredCars=cars.Where(car=>car.Name.Cont
IEnumerable<Car>
IEnumerable
我想根据car.Name属性中包含特定文本的部分字符串匹配(不必是startswith)返回一个过滤后的car对象集合
这可以使用LINQ吗
from c in cars
where c.Name.Contains("certain text")
select c
或
IEnumerable cars=。。。
var filteredCars=cars.Where(car=>car.Name.Contains(“您的文本”);
这可能会满足您的需求:
var filteredCars = cars.Where(car => car.Name.Contains("Fiesta"));
您可以根据需要增加谓词的复杂性。您可以使用:
var cars=新列表()//或者任何有意义的事情。
var filteredCars=cars.Where(c=>c.Name.Contains(“searchstring”);
如果需要不区分大小写的搜索,可以使用IndexOf代替string.Contains,这样就可以传递StringComparison值。看到了,呵呵,是的。如果没有IntelliSense,我不确定是否存在Contains,所以我谨慎行事。还有,你怎么知道你应该这样做。ToArray()这个集合?听起来似乎更正确(稍加调整):@Stillar:我的意思是答案,而不是你的评论。你的观点是非常正确的:)ToArray()在那里没有特别的原因。我将删除它以使示例更简洁。
IEnumerable<Car> cars = ...
var filteredCars = cars.Where(car => car.Name.Contains("your text"));
var filteredCars = cars.Where(car => car.Name.Contains("Fiesta"));
var cars = new List<Car>(); //Or whatever makes sense.
var filteredCars = cars.Where(c => c.Name.Contains("searchstring"));