zoukankan      html  css  js  c++  java
  • 第二章 深入 C# 数据类型

    第二章 深入 C# 数据类型

    1.封装又称信息隐藏,是指利用抽象数据类型将数据和数据的操作结合在一起,使其构成一个不可分割的独立实体,尽可能的隐藏内部的细节,只保留一些对外接口,使之于外部发生联系。

    2.第一:重用; 

    第二:不必关心具体的实现; (方法)

    第三:面向对象三大特征之一; 

    第四,具有安全性!

    3.如果我们定义一个数组,并且赋值了

    int[] nums={1,2};

    nums当中保存 的是堆中的地址:例如:0x001

    nums[0]:访问的是堆中的内容

    4.值类型(在栈上存储真实的值)和引用类型(堆和栈上都要分配空间)

    wpsEB42.tmp

    wpsEB43.tmp

    5.结构体

                 /*01.结构体不用new,就可以直接对其属性赋值

                 *02.结构体中可以有字段,属性和方法

                 *03.结构体是值类型,类是引用类型

                 *04.在结构体中不能给字段赋初值,但是类中可以.

                 *05.结构体中没有默认构造函数,但类中有默认构造函数

                 */

    默认如果定义了一个类,系统会自动的生成一个和该类名称相同,并且没有返回值类型,甚至连Void都没有的

    方法,该方法就称为构造函数!

    Student stu=new Student();

    注意问题:值类型的直接父类都是ValueType,而ValueType又继承自Object

    特殊的值类型:枚举和结构体

    特殊的引用类型:数组和接口

    6.装箱和拆箱

    由于装箱和拆箱对系统性能损耗很大,所以在真实的开发中我们尽量避免装箱和拆箱的操作。

    wpsEB44.tmp

    wpsEB55.tmp

    7.值类型传递和引用类型传递

    方法的参数是值类型和引用类型

    wpsEB56.tmp

    注意:值传递和引用传递判定依据是有没有ref

    01.如果方法的参数类型本身就是引用类型,那么对参数值的修改会永久保存

    例如:public void TP(SE se)

    {

        se.Count++;//真正的修改se对象的Count值

    }

    02.如果方法的参数类型本身是值类型,又没有ref修饰,那么对参数值的修改,不会永久保存()

    03.如果方法的参数类型本身是值类型,但是有ref修饰,那么对象参数值的修改,也会永久保存。

    值类型传递 :不带ref的参数传递   SE se

    引用类型传递:带ref的参数传递 

  • 相关阅读:
    Flowplayer-一款免费的WEB视频播放器
    nginx windows 版 创建windows 服务
    Windows Service Wrapper
    angular模板加载 ----ng-template
    理解AngularJS的作用域Scope
    Jquery使用ajax以及angularjs 动态模板加载并进行渲染
    angular.element方法汇总以及AngularJS 动态添加元素和删除元素
    JavaScript文件中调用AngularJS内部方法或改变$scope变量
    The repository for high quality TypeScript type definitions
    jspm 是浏览器包管理工具
  • 原文地址:https://www.cnblogs.com/weilengdeyu/p/4600327.html
Copyright © 2011-2022 走看看