C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■102432 / 1階層)  string.IndexOfの結果について
□投稿者/ Hongliang (1292回)-(2023/09/28(Thu) 10:59:38)
https://learn.microsoft.com/ja-jp/dotnet/api/system.string.indexof?view=net-7.0#system-string-indexof(system-string)
注釈にあるように、String.IndexOf(String)は現在のカルチャを使用して検索を行います。
そして同じく注釈にあるようにこの場合「無視できる文字」というのが存在しており、ETXはちょうどそれに該当します。
なので、"123".IndexOf("\u0003") ですら0を返します。

https://learn.microsoft.com/ja-jp/dotnet/api/system.string.indexof?view=net-7.0#system-string-indexof(system-char)
一方、String.IndexOf(Char)は序数検索、つまりUTF-16の符号単位での検索を行います。

引数に文字列を与えて序数検索するにはString.IndexOf(String, StringComparison)オーバーロードを使用し、第2引数にStringComparison.Ordinalを渡します。

https://learn.microsoft.com/ja-jp/dotnet/standard/base-types/best-practices-strings
文字列比較のベストプラクティスもご参照ください。
その中の一つに、IndexOfなどでは常にStringComparisonを明示することが挙げられています。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←string.IndexOfの結果について /暗黒魔界の王 佐藤 →Re[2]: string.IndexOfの結果について /暗黒魔界の王 佐藤
 
上記関連ツリー

string.IndexOfの結果について / 暗黒魔界の王 佐藤 (23/09/28(Thu) 10:40) #102431
string.IndexOfの結果について / Hongliang (23/09/28(Thu) 10:59) #102432 ←Now
│└ Re[2]: string.IndexOfの結果について / 暗黒魔界の王 佐藤 (23/09/28(Thu) 11:24) #102435 解決済み
│  └ Re[3]: string.IndexOfの結果について / 暗黒魔界の王 佐藤 (23/09/28(Thu) 11:56) #102437
│    └ Re[4]: string.IndexOfの結果について / 魔界の仮面弁士 (23/09/28(Thu) 12:51) #102438
│      └ Re[5]: string.IndexOfの結果について / 暗黒魔界の王 佐藤 (23/09/28(Thu) 14:15) #102439 解決済み
Re[1]: string.IndexOfの結果について / kiku (23/09/28(Thu) 11:24) #102434

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信