zoukankan      html  css  js  c++  java
  • C# 3.0 CookBook: 二、字符与字符串处理(2):两个字符相比较时控制大小写

    问题

        要判断两个字符是否相等,但是需要一个灵活掌握区分大小写或不区别大小写的手段。

    解决方法:

        在char类型中创建一个扩展方法,使用char结构中的Equals方法比较两个字符。

    static class CharStrExtMethods
    {
        public static bool IsCharEqual(this char firstChar, char secondChar)
        {
            return (IsCharEqual(firstChar, secondChar, false));
        }
        public static bool IsCharEqual(this char firstChar, char secondChar,
                                       bool caseSensitiveCompare)
        {
            if (caseSensitiveCompare)
            {
                return (firstChar.Equals(secondChar));
            }
            else
            {
                return (char.ToUpperInvariant(firstChar).Equals(
                char.ToUpperInvariant(secondChar)));
            }
        }
        public static bool IsCharEqual(this char firstChar, CultureInfo firstCharCulture,
                                       char secondChar, CultureInfo secondCharCulture)
        {
            return (IsCharEqual(firstChar, firstCharCulture,
                    secondChar, secondCharCulture, false));
        }
        public static bool IsCharEqual(this char firstChar, CultureInfo firstCharCulture,
                                       char secondChar, CultureInfo secondCharCulture,
                                       bool caseSensitiveCompare)
        {
            if (caseSensitiveCompare)
            {
                return (firstChar.Equals(secondChar));
            }
            else
            {
                return (char.ToUpper(firstChar, firstCharCulture).Equals
                       (char.ToUpper(secondChar, secondCharCulture)));
            }
        }
    }

        第一个重载的扩展方法IsCharEqual只获取一个参数,用于和当前字符进行比较。该方法然后再调用第二个包含两个参数的IsCharEqual方法。当该方法被调用时最后一个参数的默认值为false。用户也不需要给caseSensitiveCompare参数赋值,它会自动地设置默认值为false。

        进一步对重载的IsCharEqual方法进行扩展,可以使其以处理不同种类语言的文字。调用ToUpperInvariant方法时增加CultureInfo参数可以传入用户调用的字符串的区域信息。该信息允许ToUpperInvariant正确地将那些包含特殊区域信息的字符大写化(例如代表语言、地域的字母)。

    讨论

       当比较两个字符串且考虑其大小写情况时可混合使用String类的ToUpperInvariant方法和Equals方法。ToUpperInvariant方法

    版权说明:作者:张颖希PocketZ's Blog
    出处:http://www.cnblogs.com/PocketZ
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    若本文为翻译内容,目的为练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖

  • 相关阅读:
    25-javaweb接入支付宝支付接口
    4-js 函数
    24-filter-拦截器
    23-新建maven 项目
    22-maven-安装与配置
    15-matlab矩阵运用
    2018.7.18 div,section,article的区别和使用
    2018.7.17 牛客网训练
    2018.7.16常用推荐算法
    2018.7.15 解决css中input输入框点击时去掉外边框方法
  • 原文地址:https://www.cnblogs.com/PocketZ/p/1713243.html
Copyright © 2011-2022 走看看