C# 大文字と小文字を変換(ToLower/ToUpper)

C#の英字の大文字と小文字を変換するサンプルです。

目次

サンプル 英字の大文字を小文字にする(ToLower)
  英字の小文字を大文字にする(ToUpper)
先頭の文字のみ大文字にする
最初の文字を大文字にして他の文字を小文字にする
大文字を小文字にし、小文字を大文字にする

英字の大文字を小文字にする(ToLower)

public string ToLower()
  • ToLowerメソッドは、英字の大文字を小文字にします。
  • 新しい文字列が生成されます。
  • 英字の全角の大文字も全角の小文字に変換されます。
using System;
class Test1
{
	static void Main()
	{
		var str1 = "ABC";
		Console.WriteLine(str1.ToLower()); //abc

		var str2 = "Abc";
		Console.WriteLine(str2.ToLower()); //abc

		var str3 = "ABC";
		Console.WriteLine(str3.ToLower()); //abc

		var str4 = "あいう";
		Console.WriteLine(str4.ToLower()); //あいう
	}
}

全角の英字の大文字は、全角の英字の小文字に変換します。

 

英字の小文字を大文字にする(ToUpper)

public string ToUpper()
  • ToUpperメソッドは、英字の小文字を大文字にします。
  • 新しい文字列が生成されます。
  • 英字の全角の小文字も全角の大文字に変換されます。
using System;
class Test1
{
	static void Main()
	{
		var str1 = "abc";
		Console.WriteLine(str1.ToUpper()); //ABC

		var str2 = "AbC";
		Console.WriteLine(str2.ToUpper()); //ABC

		var str3 = "abc";
		Console.WriteLine(str3.ToUpper()); //ABC

		var str4 = "あいう";
		Console.WriteLine(str4.ToUpper()); //あいう
	}
}

全角の英字の小文字は、全角の英字の大文字に変換します。

 

先頭の文字のみ大文字にする

var str1 = "abcde";
Console.WriteLine(str1.Substring(0, 1).ToUpper() + str1.Substring(1)); //Abcde

var str2 = "abcDE";
Console.WriteLine(str2.Substring(0, 1).ToUpper() + str2.Substring(1)); //AbcDE

Substringの引数が2つの場合は、1つめの引数は開始位置で2つめの引数は終了位置です。
Substringの引数が1つの場合は、指定した位置の文字から最後の文字まで取得します。
5行目は、後ろ2つの文字は大文字のままです。

 

最初の文字を大文字にして他の文字を小文字にする

var str1 = "abcde";
Console.WriteLine(str1.Substring(0, 1).ToUpper() + str1.Substring(1).ToLower()); //Abcde

var str2 = "abcDE";
Console.WriteLine(str2.Substring(0, 1).ToUpper() + str2.Substring(1).ToLower()); //Abcde

Substringの引数が2つの場合は、1つめの引数は開始位置で2つめの引数は長さです。
Substringの引数が1つの場合は、指定した位置の文字から最後の文字まで取得します。
5行目は、後ろ2つの文字も小文字になっています。

 

大文字を小文字にし、小文字を大文字にする

	var str1 = "AbCdEfg";
	var str2 = "";

	for (var i = 0; i < str1.Length; i++)
	{
		if (str1.Substring(i, 1) == str1.Substring(i, 1).ToLower())
		{
			str2 = str2 + str1.Substring(i, 1).ToUpper();
		}
		else
		{
			str2 = str2 + str1.Substring(i, 1).ToLower();
		}
	}
	Console.WriteLine(str2); //aBcDeFG

for文のループで文字列を1文字ずつみていきます。
if文で小文字か判定しtrueであれば大文字に、そうでなければ小文字に変換します。

関連の記事

C# IndexOf 文字列の位置を取得する
C# Substring 文字列を切り出す

△上に戻る