当我试图进入字符串相对路径时,我得到一个错误startindex不能小于零,错误出现的原因是什么?
string relativePath = Directory.GetCurrentDirectory();
relativePath.Remove(relativePath.IndexOf(@"\GameSystem"));
答案 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"
}