为什么我会得到"超出范围异常的参数"?

Sam*_*ghe 2 c# arrays string outofrangeexception

我尝试了下面这段代码.我不明白为什么我继续得到一个"争论超出界限"的例外.

private void Easy_Click(object sender, EventArgs e)
{
    string fileData =readFile();
    if (fileData.Contains(name))
    {
        int i = fileData.IndexOf(name);
        int easyScore = i + name.Length +1;
        MessageBox.Show(fileData+"  "+i);
        string newString = fileData.Substring(45, 48);
        Easy.Text=newString;
    }
}
Run Code Online (Sandbox Code Playgroud)

Sel*_*enç 8

第二个参数Substring是长度,而不是结束索引.如果你想从45开始尝试3个字符

string newString = fileData.Substring(45, 3);
Run Code Online (Sandbox Code Playgroud)

  • 如果是这样的话,他可能只是在寻找文件扩展名?也许只使用Path.GetExtension? (2认同)