在学习选择排序算法的时候,用到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. SQLite数据库 简介、特点、优势、局限性及使用

    SQLite简介 SQLite是一个进程内的轻量级嵌入式数据库,它的数据库就是一个文件,实现了自给自足.无服务器.零配置的.事务性的SQL数据库引擎.它是一个零配置的数据库,这就体现出来SQLite与 ...

  2. SQL Server 主键及自增长列的修改

    一.对主键的修改 主键值都会带有主键约束,当执行update操作或是其他操作的时候就会受到限制无法修改,解决的方法是:取消主键约束->删掉主键列->插入修改后的主键值. (1)取消主键约束 ...

  3. asp.netajax与jquery和bootstrap的无刷新完美实现

    20190421asp.netajax与jquery和bootstrap的无刷新完美实现 设计代码和后台代码中重要部分加粗和深色以及字号加大. 设计前台代码: <%@ Page Title=&q ...

  4. sqlserverdatasouce控件如何让添加删除修改自动化

    对于sqlserverdatasouce控件,添加插入修改和删除命令,可以自动删除修改更新数据,不需要编写一行代码,但是有时更新失败,原因在于选中了[开放式并发],这个选中,如果该表与其他的数据表关联 ...

  5. rabbitmq的问题Failed to start bean 'listenerContainer'

    第一次使用mq发送消息,启动报错了,网上看了好多也没找到几个相关论坛,好几个置顶的都是发帖后不说明解决方案的.因此在这里记录一下. 原因: 因为消息监听的地址在mq服务中没有对应的q, 解决: 需要手 ...

  6. jieba 库

    jieba库是python 一个重要的第三方中文分词函数库,但需要用户自行安装. 一.jieba 库简介 (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结 ...

  7. 《程序设计入门——C语言》翁恺老师 第三周编程练习记录

    1 时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果 ...

  8. vue中几种常见技巧

    1.校验延迟:点击进入页面不希望校验必填字段this.$nextTick(() => { this.$refs.formRules.clearValidate() })2.$on $emit $ ...

  9. JavaEE第六周

    Applet简介 Java Applet简介 最近要使用worldwind java sdk做Applet开发,看了些Applet的资料,为了防止忘记,记录如下: applet是通过<apple ...

  10. python pexpect包的一些用法

    转自:https://www.jianshu.com/p/cfd163200d12 mark一下,原文中写的挺详细