• 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是引用类型,它的值是放在托管堆中而线程栈中存放的时它堆中存放值的地址。

     

  • 相关阅读:
    [zz]Mesos的分析4 支持Hadoop任务级调度
    代理设计模式
    spring初始化
    SpringAOP的切点的声明格式
    SpringAOP的介绍
    SpringIOC创建对象的单例和多例模式
    动态代理
    SpringIOC的自动注入
    SpringAOP的注解方式实现
    cglib动态代理实现流程
  • 原文地址:https://www.cnblogs.com/jaifyhome/p/2544037.html
Copyright © 2020-2023  润新知