zoukankan      html  css  js  c++  java
  • 小技巧字符串比较

    • String类型
    话说“字符串”是我们平时最常用的数据类型之一,它表示一个字符序列。
    1. 判断两个字符串是否相等
    以下的几种情况对于业务逻辑来说一般都是一样的。
      类型
    分配存储空间
    1 null   
    2 string.Empty
     
    3 ""
    4 "  "
    判定为空字符串的几种写法,按照性能从高到低的顺序是:s.Length == 0      优于 s == string.Empty      优于 s == ""
    但实际判断字符串为空时不是所有数据都由自己定义的string.Empty来付值的外部产生的数据可能是1、4情况这是就不能单单用字符串的长度来判断为0时就为空字符串了。以下是框架自带的判断是否为空的方法无疑IsNullOrWhiteSpace是最好判断字符串为空的方法。根据这一特点写出了CompareIgnoreCase这个比较字符串的方法。
      public static bool IsNullOrEmpty( String value) {
                return (value == null || value.Length == 0);
      }
           
      public static bool IsNullOrWhiteSpace( String value) {
                if (value == null return true ; 
                for (int i = 0; i < value.Length; i++) {
                    if (!Char .IsWhiteSpace(value[i])) return false ;
                }
                return true ;
      }
       public static bool CompareIgnoreCase( string str1, string str2)
       {
                if (string .IsNullOrWhiteSpace(str1) && string.IsNullOrWhiteSpace(str2)) return true ;   
                var tmpstr1 = HasTrim(str1) ? str1.Trim() : str1;
                var tmpstr2 = HasTrim(str2) ? str2.Trim() : str2;
                return string .Equals(tmpstr1, tmpstr2, StringComparison.CurrentCultureIgnoreCase);
      }
     
      public static bool HasTrim( string value)
      {
                if (string .IsNullOrEmpty(value)) return false ;
                if (Char .IsWhiteSpace(value[0])) return true ;
                if (Char .IsWhiteSpace(value[value.Length - 1])) return true ;
                return false ;
      }
     
  • 相关阅读:
    【Java】Java 序列化的高级认识
    【随笔】感同身受
    【教训】徐小平:不要用兄弟情谊来追求共同利益,要用共同利益追求兄弟情谊
    【面试】惠普IT电面
    【面试】中兴
    【面试】国金证券
    【298】◀▶ IDL 系统过程&函数
    【297】IDL 过程、函数&关键字参数
    【296】Python 默认 IDE 修改
    【295】暗黑表格模板及相关
  • 原文地址:https://www.cnblogs.com/DasonKwok/p/2969536.html
Copyright © 2011-2022 走看看