学习笔记--比较 Strings的值

本文介绍了C#中字符串比较的方法,包括Equals、CompareTo及==操作符的区别,并探讨了字符串在Hashtable中的Hashcode生成原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 计算机可以以字母顺序排列字符是因为字符是以unicode numeric code 的内部形式表示。当比较两个string时,c#比较构成它们的那些字符的unicode.

String 类提供了多个方法比较strings, 这里比较其中的Equals方法, CompareTo方法 和 == 方法。

  1. Equals方法是System.String继承自object类,Equals方法比较两个比较的对象是否含有相同的值。字符窜中的每个字符都会被比较。
  2. == 方法与Equals方法意思一样。字符窜中的每个字符都会被比较。
  3. static Equals 方法比较作为参数的两个string是否相等。
  4. CompareTo 方法返回0 如果相同的话,-1 如果调用CompareTo方法的string对象比作为参数的string小。 大的话是 1。字符窜中的每个字符都会被比较。例如

            string str = "hellq";
            string str2 = "hellp";
            Console.WriteLine("" + str.CompareTo(str2)); 结果是1

            string str = "hello";
            string str2 = "hellp";
            Console.WriteLine("" + str.CompareTo(str2)); 结果是-1

 hashtable通过调用key对象的gethashtable方法返回的hash code来决定数据类在hashtable中的存储位置。hash code 是有object类的gethashtable 方法来进行hashcode 计算。尽管所有的类都从object类继承了这个方法,但仍建议重写重写object类的这个方法。Class String overides 方法 GetHashCode 来根据祖父窜的内容提供一个平均的 hash-code 分布。注:不同的字符窜也有相同的hashcode

请大家多提意见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值