C#2010  转换字符串大小写
本练习编写的程序是将用户输入语句的首字母大写、句中小写“i”转为大写,该程序需要用到split()和ToUpper()两个字符串处理函数,并使用循环方式进行转换,具体步骤如下所示:
(1)首先,在主程序文件的main()函数中,获取用户输入的英文语句,并将该语句使用空格和逗号进行分割放入数组内,代码如下所示。
        static void Main(string[] args)
        {
            Console.WriteLine("请输入您要检查的英文语句:");
            String strCheck = System.Console.ReadLine();
            String[] arrCheck = strCheck.Split(new Char[] {' ',','});
        }
(2)然后,使用For循环语句将首字母、首单词的首字母和句子中i转换为大写字母,并将最后结果输出,代码如下所示。
            Console.WriteLine("格式化后的语句为:");
            for (int i = 0; i < arrCheck.Length;i++ )
            {
                if(i==0)
                {
                    if (arrCheck[i].Length == 1)
                    {
                        arrCheck[i] = arrCheck[i].ToUpper();
                    }
                    else {
                        for (int j = 0; j < arrCheck[i].Length;j++ )
                        {
                            CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
                            TextInfo tInfo = cultureInfo.TextInfo;
                            arrCheck[i] = tInfo.ToTitleCase(arrCheck[i]);
                        }
                    }
                }else if(arrCheck[i] == "i")
                {
                    arrCheck[i] = arrCheck[i].ToUpper();
                }
                Console.Write(arrCheck[i]+" ");
            }
            Console.WriteLine();
(3)执行以上程序,用户需要在命令行中输入英文语句,然后命令行中就会显示出已格式化的语句,如图6-2所示。
图6-2  执行结果
CultureInfo类保存区域性特定的信息,如关联的语言、子语言、国家/地区、日历和区域性约定。此类还提供对DateTimeFormatInfo、NumberFormatInfo、CompareInfo和TextInfo的区域性特定实例的访问。这些对象包含区域性特定操作(如大小写、格式化日期和数字以及比较字符串)所需的信息。
字符串函数title()是使字符串开头首字母大写
TextInfo类定义特定于书写体系的文本属性和行为(如大小写)。应用程序应使用CultureInfo.TextInfo属性获取特定CultureInfo对象的TextInfo对象。如果安全决策依赖于字符串比较或大小写更改操作,应用程序应使用由CultureInfo.InvariantCulture属性返回的对象的CultureInfo.TextInfo属性,以确保无论操作系统采用何种区域性设置,其操作行为都是一致的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。