• 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

  • 相关阅读:
    Docker 入门指南——Dockerfile 指令
    这个断点可以帮你检查布局约束
    个推你应该这样用的
    网易云直播SDK使用总结
    当微信和支付宝遇上友盟
    环信SDK 头像、昵称、表情自定义和群聊设置的实现 二(附源码)
    环信SDK 头像、昵称、表情自定义和群聊设置的实现 一(附源码)
    事件分发机制
    常用开发技巧系列(一)
    iOS RunTime你知道了总得用一下
  • 原文地址:https://www.cnblogs.com/zhuyucun/p/6277927.html
Copyright © 2020-2023  润新知