如何在List <String>中搜索任何文本

Mar*_*ark 2 c#

我有列表,我需要搜索类似的项目:

如果用户搜索smi,它会带来所有包含smi的项目吗?

任何的想法?

Pos*_*Man 6

这将找到所有以'smi'开头的结果(mySearchString)

foreach(var result in myList.Where(s => s.IndexOf(mySearchString) == 0))
{
 // Do whatever
}
Run Code Online (Sandbox Code Playgroud)

这将找到包含'smi'(mySearchString)的任何内容

foreach(var result in myList.Where(s => s.IndexOf(mySearchString,StringComparison.InvariantCultureIgnoreCase) != -1))
{
 // Do whatever
}
Run Code Online (Sandbox Code Playgroud)

这将搜索您的文本(忽略大小写),并返回包含该文本的任何字符串.

应该工作 - 不要靠近IDE,但希望它有所帮助


Amr*_*awy 5

请检查以下示例

string serachKeyword ="o";

List<string> states = new List<string>();
states.Add("Frederick");
states.Add("Germantown");
states.Add("Arlington");
states.Add("Burbank");
states.Add("Newton");
states.Add("Watertown");
states.Add("Pasadena");
states.Add("Maryland");
states.Add("Virginia");
states.Add("California");
states.Add("Nevada");
states.Add("Ohio");

List<string> searchResults = states.FindAll(s => s.Contains(serachKeyword));
Run Code Online (Sandbox Code Playgroud)