Linq查询过滤结果
本文关键字:结果 过滤 查询 Linq | 更新日期: 2023-09-27 18:10:04
我对LINQ不是很熟悉。下面是一些代码:
if (!String.IsNullOrEmpty(searchString))
{
games = games.Where(x => x.Name.Contains(searchString));
}
正常工作;然而,我想要的是,而不是根据用户输入的任何文本过滤结果,如果用户输入说"L",在LINQ查询中是否有一种方法可以让它通过x.Name
的第一个字母过滤任何包含该字母的x.Name
。
即
League_of_Legends
LOTRO_
Dota_2
Call_of_Duty_4
Final_Fantasy_7
并且用户输入"L"而不是返回除Dota 2
之外的所有内容,它是否可以仅返回League of Legends
和LOTRO
,因为它们是仅有的两个名称实际上以"L"开头的。
我假设它是…games = games.Where(x => x.Name.Contains<***something***>(searchString));
谢谢!
我假设您正在寻找StartsWith
。请注意,这将适用于任何前缀,而不仅仅是单个字母。
games = games.Where(x => x.Name.StartsWith(searchString));
如果你想要一个不区分大小写的搜索(例如小写的l
也匹配League_of_Legends
),使用:
games = games.Where(x => x.Name.StartsWith(searchString, StringComparison.CurrentCultureIgnoreCase));