加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – string.Equals(“string”)和“String”.Equals(string)有

发布时间:2020-12-15 18:11:14 所属栏目:百科 来源:网络整理
导读:以下两行代码与字符串值进行比较有什么不同. string str = "abc";if(str.Equals("abc")) 和 if("abc".Equals(str)) 在第一行我调用字符串变量的equals方法来与字符串文字进行比较.第二行反之亦然.它只是编码风格的区别,或者编译器处理这两个语句的方式有所不
以下两行代码与字符串值进行比较有什么不同.
string str = "abc";

if(str.Equals("abc"))

if("abc".Equals(str))

在第一行我调用字符串变量的equals方法来与字符串文字进行比较.第二行反之亦然.它只是编码风格的区别,或者编译器处理这两个语句的方式有所不同.

解决方法

是的,编译器处理语句的方式是不同的.大多数语言中String的函数等于相同的准则.这是一个半码:
override def Equals(that:String):Boolean //Should override Object.Equals
  if(that==null) return false
  for i from 0 to this.length
    if(!this(i).Equals(that(i))) return false
  return true

通常,该方法将检查该字符串是否为IS,并且该长度与该长度相同.

如其他人所指出的那样,如果该值为null,那么该方法返回false.另一方面,该方法是String的一部分,因此不能在null上调用.这就是为什么在你的exampleif中,str为null,你会得到一个NullReferenceException.

话虽如此,如果你知道这两个变量是非空字符串的长度相同,两个语句都将同时评估.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读