我有以下c#List<string>
var lists = new List<string>
{
"a", "b", "c", "ee", "ja"
}
我现在要查找字母数字值小于或等于d
的最后一项的索引,在这种情况下,该索引将为2-代表“ c”
有人可以建议我该怎么做吗?它需要快速,因为它将搜索大型列表。
还有一种方法可以对与"ef"
最接近的匹配项或任何多个字符集进行相同的比较
编辑-我知道我可以编写一个for循环来执行此操作,但是还有其他方法可以执行此操作吗?也许是内置函数。
我知道我是否可以使用Linq。
答案 0 :(得分:3)
var index = lists.FindLastIndex(value => value.CompareTo("d") < 0);
注意:您必须使用CompareTo
,因为字符串中不存在<
。
答案 1 :(得分:1)
在对-dSAFER
进行排序的情况下,使用BinarySearch
方法将获得出色的性能。如果不是,则不要使用此方法,因为您会得到不正确的结果。
List