• 【C#】4.1C#数据类型


    一、常量
    const 数据类型 变量名=值; //常量在定义的时候就要赋值
     
    public:全局
    private:局部
    protected:受保护
    internal:可在同一个链接库中访问
    new:创建新常量,不继承父类同名常量
     
    二、变量
    1.值类型
    2.引用类型
    3.指针类型
     
    1.值类型
    类型
    解释
    范围
    默认值
    整数类型()
    sbyte
    8位有符号整数
    -128——127
     
    short
    16位有符号整数
       
    int
    32位有符号整数类型
     -2^31——2^31-1
    0
    long
    64位有符号整数类型
       
    浮点数类型
    float
    32位单精度浮点类型
    多个字符组成的
    0
    double
    64位双精度浮点类型
    精度较高,范围非常大
    0
    decimal
    128位上精度浮点型
    精度高,范围不算大
     
    字符类型
    char
    字符类型
       
    布尔类型
    bool
    布尔类型,表示只有两种选择的变量
    true或者false
    false
     
    C#转义字符
    转义字符
    意义
    转义字符
    意义
    tab
    空字符
    换行符号
    v
    垂直制表符
    回车符号
     
    字符串前加@表示,字符串中的转义字符不进行转义。如:
    string path="c:abc";
    默认的""是作为转义来使用的,而不是一个真的斜杠字符串
    所以这个地方要取到地址,正确的写法应该是:
    string path=@"c:abc"; //这里的@让斜杠保持原意,不要转义
    或者
    string path="c:\abc\"; //不用@ 斜杠表示转义,所以要多加个斜杠
     
    2.引用类型
    C#不允许在安全代码中使用指针,因此要处理堆中的数据就需要使用引用数据类型,使用new关键字实例化引用数据类型的对象,并指向堆中的Obj对象,并指向堆中的对象数据。 obj1=new Obj();
     
    1.内置引用类型
    对象类型(object)
    对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。但是,在分配值之前,需要先进行类型转换。
    当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱
    object obj; obj = 100; // 这是装箱
     
    字符串类型(string)
    字符串类型允许给任何变量分配字符串值,字符串类型是从object类型派生的。
    字符串类型的值可以通过两种形式进行分配:引号和@引号
    String str = "runoob.com";
     
    object类型是C#所有数据类型的基类型,具有一些通用的方法,如
    Equal(); GetHashCode(); GetType(); ToString();
     
     
    2.数组
    C#把数组看做一个带有方法和属性的对象,并存储在堆内存中,声明数组的时候,要在变量类型后面加一组方括号【】;
     
    int[] nVar;
    初始化为其开辟内存空间,初始化需要使用new关键字
    int[] nVar=new int[100];
     
    数组作为一个对象,有自己的属性和方法,常用的属性
    .Length 一维数组的长度
    .Rank 数组的维度
     
    3.类,接口
    类也是一种复合数据类型,包括属性和方法
     
    接口用于实心一个类的定义,包括属性】方法的定义等,但没有具体的实现,也不能实例化接口。
     
     
     
     
    补充装箱拆箱:
    值类型转换为引用类型时候是装箱
    引用类型转换成值类型是拆箱
     
    装箱拆箱是比较慢的操作,影响性能,在程序中应该避免进行装箱拆箱的操作
     
    看两类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系。
     
    //下面这个操作是没有发生拆箱的
    string str="123";
    int n=Convent.ToInt32(str);
     
    //装箱
    int n=10;
    IComparable i=n;
     
    补充Nullable数据类型
    定义可以为空的变量
    如int i=2;这里的i是不能为空的,在定义的时候定义为 int? i;i的默认值为null,并且可以为null
    bool? isok; isok=null;
    如果修改为下面的写法就可以初始指为null,在特定情况下?等同于基础类型为Nullable。
    private int? getNum = null;
    private Nullable<int> getNumNull = null; 这是等价的

     
  • 相关阅读:
    转载php在IIS中运行
    程序员必去的网站
    分享一下jQuery UI的地址
    dbcp相关配置
    shell学习第二弹-进阶
    shell学习第一弹-初识
    java servlet 3.0文件上传
    Junit使用第二弹
    各个数据库中,查询前n条记录的方法
    junit使用第一弹
  • 原文地址:https://www.cnblogs.com/weigangblog/p/12742584.html
Copyright © 2020-2023  润新知