今天在用 string lastindexof时,很迷糊,搞了这么多年,这么个简单函数都没搞明白,很不爽
注释太差。自己测试
代码如下:
class Program
{
static void Main(string[] args)
{
string s = "0123456abb";
int x = s.LastIndexOf("a",s.Length-1,1);
int y = s.LastIndexOf("a", s.Length - 1, 2);
int z = s.LastIndexOf("a", s.Length - 1, 3);
Console.WriteLine(x);//-1
Console.WriteLine(y);//-1
Console.WriteLine(z);//7
}
}
第二个参数表示要查找的地方,比如startIndex=s.length-1表示查找整个字符串。如果为0表示,从0往前找,就是没有记录了。
第三个参数,表示往前找的个数,比如代码中的 x,从最后面往前找一位,找a,没找到。y往前找2位,也没找到。z往前找3位,找到了,然后返回找到的这个字符从前往后的顺序
所以lastindexof只会有2个值,一个是-1,一个是 s.LastIndexOf(value,startindex)得出的值