none
開発言語c# String.IndexOfのバグ? RRS feed

  • 質問

  •             String s = ",a,b,c,d,e";
                int left;
                left = s.IndexOf(',', 0, 1);
                Console.WriteLine(left.ToString ());
                left = s.IndexOf(',', 0, 2);
                Console.WriteLine(left.ToString());
                left = s.IndexOf(',', 1, 1);
                Console.WriteLine(left.ToString());
                left = s.IndexOf(',', 1, 2);
                Console.WriteLine(left.ToString());

    結果:
    0
    0
    -1
    2

    2010年3月18日 2:07

回答

すべての返信

  • 不具合報告時には環境(フレームワークのバージョン等)を書かれた方がいいです。
    最初、有名な「愛々問題」かと思ったのですが、違うようですね。

    "愛々,123".IndexOf(",")が不正な結果を返す
    http://connect.microsoft.com/VisualStudioJapan/feedback/details/381451/-123-indexof

    どのような結果を期待されていますでしょうか?
    もしかして、文字列は先頭の添え字がゼロな点を勘違いされていませんでしょうか?

    • 回答としてマーク 菊地俊介 2010年3月18日 9:23
    2010年3月18日 2:19
  • ご回答ありがとうございました。
    C#を使い始めたばかりですので、IndexOfのパラメータの意味を勘違いしてしまいました。
    第三パラメータcountが検索の回数だと思い込んでしまいました。
    失礼しました!
    2010年3月18日 2:31