在包含值的字符串数组中查找字符串的最后一个索引

use*_*641 0 .net c# arrays indexing contain


在我的程序中,我有一个文本,我将分成一行数组来分别修改行.对于一个修改,我需要找到文本中值的最后一个索引,以在下面的行中插入一个新值.

例:

text=["I like bananas",
      "I like apples",
      "I like cherries",
      "I like bananas",
      "I like apples"]

value: "bananas"
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用:

int pos = Array.FindIndex(text, row => row.Contains(value));
if (pos > -1)
{
 //insert line at pos
}
Run Code Online (Sandbox Code Playgroud)

但这似乎又回到了我第一次出现的指数."lastIndexOf()"对我来说似乎不是正确的命令,因为它会查找给定值和数组中项目的相等性.

我是做错了还是有另一个命令,在这种情况下使用?

Yel*_*yev 5

我不明白Array.FindLastIndex()方法有什么问题.它的工作原理完全相同:

string value = "bananas";
string[] arr = 
{
    "I like bananas", 
    "I like apples",
    "I like cherries",
    "I like bananas",
    "I like apples"
};

Console.WriteLine(Array.FindLastIndex(arr, x => x.Contains(value)));
Run Code Online (Sandbox Code Playgroud)

此代码适用于我并输出"3".