• C# lesson2


    一、C#数据类型

    1、值类型

      包括数据相关(short、long、int 、double、float)、布尔(bool)、枚举

    2、引用类型

    Object 、对象、数组、字符串

    二、存储方式

    值类型

    1、所有的值类型,都是存在栈里面

    2、值类型的赋值,都是值的拷贝;

    引用类型

    1、引用类型,具体的值是存在堆里面,栈里面存的是他的引用地址

    2、引用类型的赋值,是地址的拷贝

    3、对字符串做修改的时候,不是在堆里面直接修改它的值,而是重新再堆里面开辟新空间

    三、代码解读

    命名空间:  useing。。。。。。

    访问修饰符: public。。。。

    数据类型:如 int  返回一个整数

    Person p1=new Person();

    1、当实例化一个对象的时候,就会在堆里面,将类里面非静态的所有字段、方法声明。

    2、当实例化一个对象的时候,类里面的对象不管是一个值类型还是一个引用类型,都是存在堆里面

    3、当实例化另外一个对象的时候,就会在堆里面找之前是否有过水花对象,如果有的话就会把里面的成员(字段)作为模板拷贝一份;

    存储位置如下:

    4、.net framework里面的GC(垃圾回收机制),会将内存里值为null或者长期不用的对象、变量回收;

    内存里面有一个专门的区域叫静态区,专门存放静态数据:

    四、装箱和拆箱

    装箱:值类型穿转为引用类型;

    int i=10;
    Console.WriteLine(i.ToString());

    拆箱:引用类型转化为值类型;

    string s="10";
    Console.WriteLine(Convert.ToInt32(s));

    注:在程序里面要尽可能的避免装箱和拆箱,提高程序性能;

    五、运算(同javascript)

    特别的:操作符:??

    运算规则:  a=b??c

    意义:b等于null  则a=c     否则a=b

  • 相关阅读:
    CentOS7 安装 JIRA 7.2.x 教程:下载、安装、汉化、破解
    安装 GraphicsMagick
    CentOS 7 yum 安装 Nginx
    CentOS 安装 OpenResty
    软件工程技术面试个人指南
    五线谱
    中央C-高低音谱号里的中央C和其它音节
    使用管道copy同一文件至多个目录下
    refusing to merge unrelated histories
    Viewing A Specific Commit_12
  • 原文地址:https://www.cnblogs.com/zhuyucun/p/6277927.html
Copyright © 2020-2023  润新知