学习之compare:c#和c++中各种compare方法

本文深入分析并对比了C#中的string.compareTo和string.compare与C++中的string.compare方法,详细阐述了它们在不同场景下的应用与区别,特别是针对按词频排序时的优劣对比。

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

 

主要比较c#中的string.compare和compareTo,以及c++中的string.compare

  (1).c#的A.compareTo(B):默认使用的排序准则是CurrentCulture。这是一个对程序员来说比较奇怪的顺序,但它代表的是自然语言的顺序,而且结果是和当前系统的区域和语言选项设置相关的。对字母顺序来说,在大多数culture中,顺序大致是aAbBcC...当A>B时返回1,A=B返回0,A<B返回-1.

  (2).c#的string.compare(A,B):和(1)基本相同,所以说为什么File和file,它的返回值是-1了。

  (3).c#的string.CompareOrdinal(A,B):它是先比较对应字符的大小(ASCII码顺序:...ABC...abc...),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,依此类推。

  (4).c++的string.Compare(A,B):逐个比较A和B中每个字符的ASCII码值,如果A小于B,则返回-1。

所以说,按照词频统计排序的要求,用ASC码排序,应该使用(3)(4)。

转载于:https://www.cnblogs.com/linlu1142/archive/2012/09/25/2702150.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值