zoukankan      html  css  js  c++  java
  • C#类型转换简介,

    1.字符转码。。。。。。

    Char int String byte 他们的相互转换

    文本格式txt。。。。。都是字符型

     

    我们在编程的时候,不管是用C#语言或者是用java语言都难免会遇到数据类型间的转换,数据类型的转换经常会涉及到数据在内存里的存放,所以有的时候很让人头痛。通过查阅资料和我个人的理解,在这类把数据类型的转换总结了一下。

    由于我是从事C#的,我就以C#byte,int,char,stringbit为例。

    bit:位,二进制01表示1位(1bit

    byte:字节,1字节有8位 1byte=8bit

    intC#中的整数类型,占用4个字节32位(int32

    char:c#中的字符类型,占16位字符,也就是2个字节

    String:C#中的字符串类型,相当于字符数组(char数组)

    可以通过toArrayChar()方法转成char数组

    要注意的是:经常有同志说:字母占1个字节,汉字占2个字节,

    是的,在计算机上却是这样的,关于为什么,就不说了,是关于编码,有是一段很长得历史。

    说到这里菜菜们就迷糊了:那char ch=’a’,ch=’啊’,那到底占用多少了?

    其实我们a1字节,汉字占2字节是说在计算机中文本占得空间,跟我们C#中的char没么关系,只要是char类型就占用两个字节。

    说了这么多,终于离正题近了

    C#byte char int 是属于值类型,

    String是引用类型

    byte是一个字节,范围是再{(-255)255}之间

    bytechar的转换在内存中存得数据本质是一样的,只是对照ASCII

    码中另一种表现形式。

    例:byte b=97  char ch=(char)b;

     console.WriteLine(ch);

    在控制台打印显示的时a,因为97ASCII码中十进制对应的自符就是a

    Intchar的相互转换同byte也是对照ASCII码中转换的,只不过,当int的值大于127时,就会事一些特殊字符,或者乱码,

     

    Intcharbyte String是值类型与应用类型的转换,就那intString为例。

    先要说明下:

    值类型值是在内存线程栈中,

    应用类型式是再内存托管椎中,而栈中是存得它存放值的地址。

    Int 类型能隐式转换成String类型,但是想把String类型转换int类型时不能强转

    String str=”123”;

    int num=(int)str;

    此种写法是错误的。因为String是引用类型,它的值是放在托管堆中而线程栈中存放的时它堆中存放值的地址。

     

  • 相关阅读:
    设计模式之单一职责原则
    设计模式之策略模式
    设计模式之简单工厂模式
    基于 Docker 的微服务架构实践
    深入理解Redis内存模型
    Spring核心——设计模式与IoC
    P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程
    大型分布式网站架构:缓存在分布式系统中的应用
    阿里架构师的日志:带你快速理解微服务架构;理解微服务架构的核心
    Spring核心——Bean的定义与控制
  • 原文地址:https://www.cnblogs.com/jaifyhome/p/2544037.html
Copyright © 2011-2022 走看看