我对这段代码感到困惑。
string str = sample.indexof("a",0);
它正在工作。但下面不起作用。
string str = sample.indexof("\",0);
您需要在 C# 中转义字符串和字符文字中的反斜杠 - 或使用逐字字符串文字。这些中的任何一个都可以:
int index = sample.IndexOf("\\", 0);
int index = sample.IndexOf(@"\", 0);
int index = sample.IndexOf('\\', 0);
或者不指定初始索引,如果您还是从头开始看:
int index = sample.IndexOf("\\");
int index = sample.IndexOf(@"\");
int index = sample.IndexOf('\\');
如果您只寻找一个字符,我个人会使用其中的最后一个 - 更清楚的是它确实是一个字符。(它也可能稍微更有效,但清晰更重要。)
(请注意,C# 区分大小写 - 它是IndexOf
,不是indexof
。另请注意,它返回int
,而不是string
。如果您可以使示例代码准确,这将有所帮助...)
因为 \ 是转义序列字符,您可以尝试以下选项之一来工作
int i = sample.indexof("\\",0)
或者
int i = sample.IndexOf(@"\", 0);