C# 搜索两个值之间的字符串列表
我有一个字母数字列表,需要返回两个用户输入值之间的所有字符串。例如,假设字符串由以下值组成C# 搜索两个值之间的字符串列表,c#,string,C#,String,我有一个字母数字列表,需要返回两个用户输入值之间的所有字符串。例如,假设字符串由以下值组成 100F 50F aa1 SR100 SR9 abc 因此,如果用户输入ab和z的值,将返回以下值: abc SR9 SR100 如何做到这一点?我将使用以下方法将列表中的每个项目与开始和结束进行比较: 要按您指定的顺序获得结果,不清楚顺序是否重要,您必须按字母顺序对结果进行排序 也不清楚是否要包括或排除结束值-此代码将排除它,但如果更改我将使用以下方法将列表中的每个项目与开始和结束进行比较: 要按您
100F
50F
aa1
SR100
SR9
abc
因此,如果用户输入ab和z的值,将返回以下值:
abc
SR9
SR100
如何做到这一点?我将使用以下方法将列表中的每个项目与开始和结束进行比较: 要按您指定的顺序获得结果,不清楚顺序是否重要,您必须按字母顺序对结果进行排序
也不清楚是否要包括或排除结束值-此代码将排除它,但如果更改我将使用以下方法将列表中的每个项目与开始和结束进行比较: 要按您指定的顺序获得结果,不清楚顺序是否重要,您必须按字母顺序对结果进行排序 还不清楚是否要包括或排除结束值-此代码将排除它,但如果更改,则可以在以下位置使用: 您可以在以下位置使用:
听起来像是if的工作,>我不明白你的例子?它是在向后搜索吗?为什么z会导致它在SR100上sop?@GrantWinney因为aa1
public IEnumerable<string> PerformSearch(List<string> list, string start, string end)
{
return list.Where(i =>
i.CompareTo(start) >= 0 &&
i.CompareTo(end) < 0);
}
List<string> values=.....;
string lower="ab";
string upper="z";
var matches=values.Where(s=>string.Compare(s,lower)>=0 && s.Compare(s,upper)<=0);