C# 如何使用LINQ查询获取名称以数字开头的产品名称列表。?
我有一个表,我想从中检索名称以0到9开头的产品列表。 代码片段C# 如何使用LINQ查询获取名称以数字开头的产品名称列表。?,c#,linq,linq-to-sql,linq-to-entities,C#,Linq,Linq To Sql,Linq To Entities,我有一个表,我想从中检索名称以0到9开头的产品列表。 代码片段 List searchItems=新列表{“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”} …其中(x=>searchItems.Any(y=>y.StartsWith(x.ProductName))).ToList() 我没有得到产品列表,得到0条记录,任何人请给我一个更好、正确的查询。 提前感谢。尝试x.ProductName.StartsWith(y)而不是y.StartsWith(x.Prod
List searchItems=新列表{“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”}代码>
…其中(x=>searchItems.Any(y=>y.StartsWith(x.ProductName))).ToList()代码>
我没有得到产品列表,得到0条记录,任何人请给我一个更好、正确的查询。
提前感谢。尝试x.ProductName.StartsWith(y)
而不是y.StartsWith(x.ProductName)
您现在的做法是询问“1”.StartsWith(“您的产品名称”)
尝试x.ProductName.StartsWith(y)
,而不是y.StartsWith(x.ProductName)
您现在的做法是询问“1”。开始使用(“您的产品名称”)
让我们使用正确的标识符。这将帮助您找到错误:
var result = products.Where(product => searchItems.Any(
searchItem => searchItem.StartsWith(product.ProductName)))
因此,您只保留那些具有ProductName的产品,其中至少有一个搜索项以该名称开头
- 你的搜寻项目:123456789
- ProductName=19987
是否有以产品名称19987开头的搜索项
我有一个表,我想从中检索名称以0到9开头的产品列表
如果重新表述,查询将很简单:
我想查询所有产品的产品名称以数字开头
让我们使用适当的标识符。这将帮助您找到错误:
var result = products.Where(product => searchItems.Any(
searchItem => searchItem.StartsWith(product.ProductName)))
因此,您只保留那些具有ProductName的产品,其中至少有一个搜索项以该名称开头
- 你的搜寻项目:123456789
- ProductName=19987
是否有以产品名称19987开头的搜索项
我有一个表,我想从中检索名称以0到9开头的产品列表
如果重新表述,查询将很简单:
我想查询所有产品的产品名称以数字开头
searchItems
是单个字符串的列表。product.ProductName
不太可能是单个字符串,因此searchItem.StartsWith(product.ProductName)
几乎总是false
。现在,product.ProductName.StartsWith(searchItem)
很可能是OP想要的。searchItems
是一个单字符串列表。product.ProductName
不太可能是单个字符串,因此searchItem.StartsWith(product.ProductName)
几乎总是false
。现在,product.ProductName.StartsWith(searchItem)
更有可能成为OP想要的。