在学习选择排序算法的时候,用到CopareTo方法。由于比较的数字,是自己随意输入的。

当我输入字符串“8”,它和字符串“16”比较时候。

            string str1 = "8";
string str2 = "16";
string str3 = "08";
Console.WriteLine(str1.CompareTo(str2));//结果显示1
Console.WriteLine(str3.CompareTo(str2));//结果显示-1

  显然,我原本以为“8”和“16”比较,结果是-1。实际并不是的。

至于,为啥字符串“8” 与字符串“16”对比,会返回1。

-----------------------------------------------------------------------------------------------

字符串的比较原理:

从两个字符串的第一个字符开始逐个进行比较(按字符的ASCII值进行大小比较),直到出现不同的字符或遇到‘\0’为止。

  如果全部字符都相同,就认为两字符串相等,返回0;

  若出现了不相同的字符,则以第一个不相同的字符比较结果为准,若前者字符大于后者,则返回1,否则返回-1.

-----------------------------------------------------------------------------------------------

字符串和纯数字的比较区别~~~

C#字符串的CompareTo比较,让我疑惑的地方的更多相关文章

  1. java中两字符串比较--compareTo方法

    java.lang.String.compareTo() 方法比较两个字符串的字典,比较是基于字符串中的每个字符的Unicode值 String n1 = "1"; String ...

  2. 字符串比较——compareTo函数

    package com.day03.ifelse; import java.math.BigInteger; /** * @author 王恒 * @datetime 2017年4月7日 下午3:13 ...

  3. Maven中的一点疑惑的地方

    我们建立一个Maven项目,其结构如下:

  4. Python 语言中经常有疑惑的地方

    *)关于for循环中range(2),i到底是从0还是1开始.特别是在用数组的长度作为range的参数的时候经常会犯糊涂 #首先 >>> for i in range(5): ... ...

  5. 【C++】初次学习C++指针时的一些易混或疑惑的地方

    C++中的指针是一个比较复杂的知识概念,最近我有在学习这一方面的知识,就借此文章记录一下在学习时容易产生的混淆.本人初次发技术类的分享,可能会有纰漏,欢迎诸位指正^_^! 1.*在两种语境下的含义 先 ...

  6. Java 字符串与对象进行比较 compareTo()

    Java 手册 compareTo public int compareTo(String anotherString) 按字典顺序比较两个字符串.该比较基于字符串中各个字符的 Unicode 值.按 ...

  7. Java方法-字符串

    [Java字符串] 通过字符串函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object string) 来比较两个字符 ...

  8. Java学习笔记之字符串常用方法

    一.String关键字一些常用方法 1.构造方法: public String(); 空构造 public String(byte[]  bytes);将字节数组转成字符串 public String ...

  9. Java字符串常见实例与函数

    字符串比较 字符串函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object string) 来比较两个字符串,并返回字 ...

随机推荐

  1. C#: int 与 byte[] 互转

    public static int ToInt32(params byte[] v) { ; var len = v.Length; ) { len = ; } ; i < len; i++) ...

  2. git pull更新错误解决办法

    Your local changes to the following files would be overwritten by mergeerror: Your local changes to ...

  3. AJAX的简单解释

    什么是AJAX AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以 ...

  4. hdu6396(思维+输入挂)

    Swordsman Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accept ...

  5. idea怎么创建properties文件

    我们在idea当中新建一个properties时,就要新建一个ResourceBundle类型的文件 

  6. DocumentBuilderFactory.newInstance() 异常解决

    现象: objc[27212]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk ...

  7. java使用格式String型转成Date型

    public class TimeTwo { public static void main(String[] args) throws ParseException{ String s = &quo ...

  8. HTCVIVE定位器更新之后,定位器指示灯不亮,重置基站固件操作指南。

    HTCVIVE定位器更新之后,定位器指示灯不亮,固件修复指南 建议您重置基站固件,操作如下:请您使用手机来拍照运行中基站的“激光发射器”面板,并且数一下是否有17颗LED灯,如果没有17颗,则基本可以 ...

  9. unity中遍历Transform的子物体

    1.遍历Transform直接子transform private void Start() { var Equipment = building.transform.FindChild(" ...

  10. C# [GDI+] [API] Get Image bytes Length

    MemoryBMP "{b96b3caa-0728-11d3-9d7b-0000f81ef32e}" 2 Bmp "{b96b3cab-0728-11d3-9d7b-00 ...