当我试图进入相对路径时,我得到一个错误startindex不能小于零

时间:2013-11-25 20:40:53

标签: c# string

当我试图进入字符串相对路径时,我得到一个错误startindex不能小于零,错误出现的原因是什么?

  string relativePath = Directory.GetCurrentDirectory();
  relativePath.Remove(relativePath.IndexOf(@"\GameSystem"));

2 个答案:

答案 0 :(得分:3)

当indexOf找不到字符串时,它返回-1。如果您在索引-1处删除了某些内容,则会出现您正在讨论的错误。也就是说,relativePath不包含字符串。只需控制出您认为在那里的字符串,或在该行放置调试点,以查看当前目录是什么。

答案 1 :(得分:1)

似乎您需要添加一些条件逻辑,因此您可以处理不包含所需路径段的字符串。您可以尝试:

string relativePath = System.IO.Directory.GetCurrentDirectory();
int position = relativePath.IndexOf(@"\GameSystem");
if (position > 0)
{
    relativePath.Remove(position);
}
else
{
    //handle condition rather than throw "start index cannot be less than zero"
}