私はこのコードと混同しています。
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('\\');
個人的には、単一の文字のみを探している場合は、これらの最後のものを使用します。実際には正確に 1 つの文字であることは明らかです。(これもわずかに効率的かもしれませんが、明快さがより重要です。)
(C# では大文字と小文字が区別されることに注意してください。それは ではIndexOf
なくです。また、 ではなくindexof
を返すことに注意してください。サンプル コードを正確にすることができれば役立ちます...)int
string
\ はエスケープ シーケンス char であるため、以下のオプションのいずれかを試すことができます。
int i = sample.indexof("\\",0)
また
int i = sample.IndexOf(@"\", 0);