在子串c#中超出范围异常

时间:2018-03-27 12:14:11

标签: c# string substring

我正在尝试从最后一个索引'//'打印文件名,直到文件长度。 Image where length of F1 ans idx and file
文件长度即将到来,因为最后一个索引是47,那么我在这里做错了什么

int idx = file.LastIndexOf('\\');
int fl=   file.Length;
string filename = file.Substring(idx, fl);

2 个答案:

答案 0 :(得分:2)

Substring不是来自","来自"但是"来自","长度"。

从索引47开始,长度为83个字符超出了当前字符串的范围。

如果你还想要其余的字符串,请使用

string filename = file.Substring(idx);

也就是说,C#有很好的API来做这件事。尽可能使用Path课程,不要手动执行此操作。

答案 1 :(得分:-1)

首先看到子串争论者

public string Substring(
int startIndex,
int length

) 起始指数为47,长度为83

如果您想获取文件名,可以使用GetFileName