zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    python_6
    python_day4
    python_day3
    python_day2
    python
    python入门
    jQuery之前端国际化jQuery.i18n.properties
    转载!网页中插入百度地图
    jQuery.validate 中文API
    Web移动端Fixed布局的解决方案
  • 原文地址:https://www.cnblogs.com/zhuyucun/p/6277927.html
Copyright © 2011-2022 走看看