3

私は奇妙な問題に遭遇しました。'AA'を含む値を持つ文字列があります。最初に取得した A のIndexOfを見つけようとしています。文字列Contains("A")かどうかを尋ねると、trueが返されます。IndexOf("A")を使用すると、デフォルト値-1を取得し続けます! (下の写真を参照)

ここに画像の説明を入力

これまでテストしたところ、「 A」と「a 」に問題があるだけです。文字列に3 つの aを入れると、最初の 2 つが存在しないかのように、番号 3 のインデックスが取得されます。

ここに画像の説明を入力

文字列に余分なaを追加すると、デフォルト値の -1 が再び取得されます。

ここに画像の説明を入力

何が原因なのかはわかりませんが、何らかの言語設定に関係している疑いがあります。私はデンマーク出身で、文字aaの使用はåの同義語です。

他の誰かが同様の問題を経験したことがありますか、またはそれを回避する方法を提案していますか?

システムインフォメーション:

Windows 7 アルティメット (英語)

Visual Studio 10 プレミアム

4

2 に答える 2

2

'aa' は、カルチャが da-DK の場合、エンティティとして扱われます。質問は一種の重複です。 String StartsWith() issue with Danish text を参照してください。

于 2011-08-16T09:34:48.260 に答える
0

うーん、私は今同じことを試みました。できます...

    static void XYZ()
    {
        string a = "aaa";
        string b = "AAA";

        if(a.Contains("a"))
        {
            Console.WriteLine(a.IndexOf("a"));
        }
        if(b.Contains("A"))
        {
            Console.WriteLine(b.IndexOf("A"));
        }
    }

しかし、「aa」と「AA」を検索するのが最善ではないでしょうか? 私はデンマーク語を話せますし、単一の a があることも知っています ;-)

于 2011-08-16T09:34:50.030 に答える