zoukankan      html  css  js  c++  java
  • C#基础---值类型和引用类型

    1、先附上一份值类型和引用类型各自的成员

           

    2、值类型和引用类型的区别

    • 值类型直接存储其,引用类型存储其值的引用
    • 值类型变量都存储在堆中,引用类型在托管中分配存储单元
    • 值类型变量不能为null,必须有确定的值,引用类型被赋值前的值都是null
    • 值类型是从System.ValueType类继承而来的类型

    3、值类型

    struct类型:由一系列具有相同类型或不同类型的数据构成的数据集合

    static void Main(string[] args)
    {
         Person person = new Person();
         person.age = 10;
         Console.WriteLine(person.age);
         Console.Read();
    }
    
    struct Person
    {
        public int age;
        public string name;
        public string fname;
        public string lname;
    }   
    

    enmu类型:  

    3、类型转换

    • 隐式转换:从类型A转换成类型B的转换可在任何情况下进行,转换规则简单,可由编译器自行完成转换。
    • 显示转换:从类型A转换成类型B的转换只能在某些情况下进行,转换规则较复杂,应进行某些类型的处理。
    • 装箱:将值类型转换成引用类型的过程。
    • 拆箱:将引用类型转换成值类型的过程。

    4、常量

    使用关键字const创建常量,创建常量时必须设置其初始值,一旦设置不允许修改。

    5、字符和字符串

    Char只定义一个Unicode字符

    String类定义的变量是一个引用类型,可以对String类型的变量进行null赋值。

    StringBuilder:可变字符串类,存在与System.Text。

    String和StringBuilder的区别:

    String对象是不可改变的,每次使用String方法时,都要在内存中创建一个新的字符串对象,就需要为该新的对象分配新的空间

    StringBuilder对象时可修改的。 

    6、数组和集合

     (1)数组

    数组的特点:

    • 同一数组中只能存放同一类型变量
    • 数组的大小易经定义不可更改
    • 数组成员在内存连续存放
    • 数组下标从0开始
    • 从抽象基类Array派生的引用类型

    (2)ArrayList类

    • ArrayList位于System.Collections命名空间下
    • ArrayLisr容量可根据需要扩充,默认是(16)
    • 只能是一维形式

     (3)Hashtable

    存储在DictionaryEntry中的键/值对集合,键不能为空引用,值可以。

  • 相关阅读:
    php编程 之php基础 表单
    javascript/ajax和php 进阶 之 项目实战
    php编程 之 php基础三
    Ajax基础1
    JavaScript编程基础2
    css3基础一
    html超文本标记语言基础一
    表连接、存储过程及基本编程
    五种函数、子查询及分页查询思路
    数据库与表的创建及增删改查
  • 原文地址:https://www.cnblogs.com/SharonHwang/p/6836054.html
Copyright © 2011-2022 走看看