簡體   English   中英

在字符串C#中查找單個字符的索引

[英]find indexof single character in string 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM