Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用LINQ,如何根据部分字符串属性筛选集合?_C#_Linq_Ienumerable - Fatal编程技术网

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"));