C# 文字列に大文字が含まれていないか確認する

テキストボックスに入力してもらったり、変数に入っている文字列の中に、ざっくり大文字が含まれていなかを確認するコードです。

最初は一文字ずつ比較して、大文字部分を特定させようかと思いましたが、要件としては大文字が含まれているかどうか?を判定したいだけだったので、簡単に済ませる方法を探しました。

            //大文字、小文字の確認 メールアドレスは小文字とする
            if(t_MailAddress.Text != t_MailAddress.Text.ToLower())
            {
                C_Mail2.Text = "※小文字でお願いします。" + t_MailAddress.Text.ToLower();
                InputOK = false;
            }

ToLower()

文字列を小文字にします。元々入っていた文字列と、小文字に変換した文字列を比較し、それが等しいかどうかで、全て小文字が入力されているのかを判定してみました。

マイクロソフト解説サイト

メールアドレスの前と後

メールアドレスの後ろだけ、全て小文字にしたい。

            ///メールアドレスは@から後ろのみ小文字に変更
            int MarkAt = t_MailAddress.Text.IndexOf("@") + 1;
            string BeforeMark = t_MailAddress.Text.Substring(0, MarkAt);
            string AfterMarkl = t_MailAddress.Text.Substring(MarkAt);
            string MailAddress = BeforeMark + AfterMarkl.ToLower();

ToLowerは便利な関数で、アルファベットだけ小文字にしてくれて、記号はそのまま変化しません。

関連コンテンツ