搜索两个值之间的字符串列表
本文关键字:之间 字符串 列表 两个 搜索 | 更新日期: 2023-09-27 18:31:49
我有一个字母数字List<string>
,我需要返回两个用户输入值之间的所有字符串。 例如,假设字符串由以下值组成;
100F
50F
aa1
SR100
SR9
abc
因此,如果用户输入 ab
的值并z
将返回以下内容;
abc
SR9
SR100
我该怎么做?
我会使用 CompareTo
将列表中的每个项目与开始和结束进行比较:
public IEnumerable<string> PerformSearch(List<string> list, string start, string end)
{
return list.Where(i =>
i.CompareTo(start) >= 0 &&
i.CompareTo(end) < 0);
}
要按您指定的顺序获取结果(不清楚顺序是否重要),您必须按字母顺序对结果进行排序。
也不清楚是要包含还是排除"end"值 - 此代码将排除它,但是如果您将<
更改为<=
,您将进行包含搜索。
示例:https://dotnetfiddle.net/PHXqXG
您可以使用
where
:
List<string> values=.....;
string lower="ab";
string upper="z";
var matches=values.Where(s=>string.Compare(s,lower)>=0 && s.Compare(s,upper)<=0);