1

我的问题很简单,我怎样才能在另一个字符串中找到一个字符串的所有索引?这是我编写的代码,但问题是它所做的只是多次返回完全相同的索引。这里是:

    public static int[] IndicesOf(this string s, string Search, int StartIndex)
    {
        List<int> indices = new List<int>();
        int lastIndex = 0;
        lastIndex = s.IndexOf(Search);
        while (lastIndex != -1)
        {
            indices.Add(lastIndex);
            lastIndex = s.IndexOf(Search, lastIndex);
        }
        return indices.ToArray();
    }

我不知道这段代码有什么问题。我想我可能需要在下一次搜索之前推进索引。

4

1 回答 1

5

我的猜测是您应该在第二次s.IndexOf通话中加 1。

那是:

lastIndex = s.IndexOf(Search, lastIndex + 1);
于 2013-03-23T21:58:05.813 回答