我对这段代码感到困惑,任何人都可以帮助我。在字符串c中查找单个字符的索引#
string str = sample.indexof("a",0);
它的工作。但下面不起作用。
string str = sample.indexof("\",0);
我对这段代码感到困惑,任何人都可以帮助我。在字符串c中查找单个字符的索引#
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);
在这两个查询替换字符串与int becuase返回类型indexof是索引值 – 2012-04-21 12:01:24