按关键字搜索列表
本文关键字:列表 搜索 关键字 | 更新日期: 2023-09-27 18:00:31
我试图在字符串列表中搜索是否存在关键字。以下是列表的样子:
Milk, 2
Eggs, 4
Juice,1
我只想通过提供一个杂货清单项目来搜索清单。我只想让它在列表的每个索引中的第一个单词中搜索杂货名称,而忽略商品名称旁边的计数。我如何才能有效地做到这一点?
将项解析为Dictionary<string, int>
,然后按键查找。
List<string> items = new List<string> {
"Milk, 2",
"Eggs, 4",
"Juice, 1"
};
var dictionary = items.Select(s => s.Split(','))
.ToDictionary(x => x[0], x => Int32.Parse(x[1]));
bool contains = dictionary.ContainsKey("Milk");
var filteredList = groceryList.Where(i => i.Contains(searchString)).ToList()
应该起作用。
或者,您可以执行i.StartsWith(inputString)
或inputString.Equals(i.Split(",")[0])
。
我喜欢Bala的方向,如果你想在其中找到搜索字符串的整行,它就会起作用。如果你只需要获取项目,你就必须拆分字符串。
如果找不到以下内容,则返回null。。。
string searchTerm = "Milk";
string item = items.FirstOrDefault(i => i.StartsWith(searchTerm + ","));