我对这段代码感到困惑.
string str = sample.indexof("a",0);
Run Code Online (Sandbox Code Playgroud)
它正在发挥作用.但下面没有工作.
string str = sample.indexof("\",0);
Run Code Online (Sandbox Code Playgroud)
您需要在C#中转义字符串和字符文字中的反斜杠 - 或者使用逐字字符串文字.任何这些都可行:
int index = sample.IndexOf("\\", 0);
int index = sample.IndexOf(@"\", 0);
int index = sample.IndexOf('\\', 0);
Run Code Online (Sandbox Code Playgroud)
或者没有指定初始索引,如果你从头开始看:
int index = sample.IndexOf("\\");
int index = sample.IndexOf(@"\");
int index = sample.IndexOf('\\');
Run Code Online (Sandbox Code Playgroud)
就个人而言,如果你只是寻找一个角色,我会使用最后一个 - 更确切地说它确实只是一个角色.(也可能稍微提高效率,但清晰度更重要.)
(请注意,C#区分大小写 - IndexOf不是indexof.也请注意,它会返回int,而不是string.如果您可以使示例代码准确,则会有所帮助...)