为什么当字符串中有反斜杠“\”时 IndexOf 会失败?
string tmpString = "acg2xs5d.dui";
string tmpString2 = @"c:\acg2xs5d.dui";
MessageBox.Show(tmpString.IndexOf(@tmpString2).ToString());
这将返回 -1;无论。
如果我将 tmpString2 更改为“acg2xs5d.dui”并删除“c:\”,它会按预期返回 0。
似乎“\”导致它给出“-1”的错误结果。
为什么会这样,我该如何解决/陷阱?
最佳答案
你只需要使用tmpString2.IndexOf(@tmpString)
代替tmpString.IndexOf(@tmpString2)
除了订单之外,一切都是正确的。 "\"不是转义字符,因为您在字符串前使用了 "@"。
关于c# - 当字符串中有反斜杠时,IndexOf 失败——为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11788795/