本案例的目的是使学生掌握大小写字母相互转换的算法,其原理是使用了字符类型和整数类型可以相互转换的知识。
在C#中,英文字母是以Unicode码(2个字节)存储在内存中,Unicode码是一个无符号整型数据,这样,其可以直接转换为ushort类型,而ushort类型又可以自动转换为int类型。大写字母的Unicode码比小写字母的Unicode码小32,反过来,小写字母的Unicode码比相应的大写字母大32,利用这一原理可以实现大小写英文字母的相互转换。
其源代码如下:
using System;
namespace UpperAndLower
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("==========大小写字母转换==========");
Console.Write("请输入一个英文字母并回车:");
char ch = char.Parse(Console.ReadLine());
if (ch >= 'A' && ch <= 'Z')
{
ch += (char)32;
Console.WriteLine("大写转小写结果为:{0}", ch);
}
else if (ch >= 'a' && ch <= 'z')
{
ch -= (char)32;
Console.WriteLine("小写转大写结果为:{0}", ch);
}
else
{
Console.WriteLine("你输入的字符为:{0},/n不是有效的英文字母。", ch);
}
Console.WriteLine();
}
}
}
运行结果如下:
运行结果1:
==========大小写字母转换==========
请输入一个英文字母并回车:d
小写转大写结果为:D
运行结果2:
==========大小写字母转换==========
请输入一个英文字母并回车:F
大写转小写结果为:f
运行结果3:
==========大小写字母转换==========
请输入一个英文字母并回车:3
你输入的字符为:3,
不是有效的英文字母。
新闻热点
疑难解答