值类型、引用类型

原创 2011年10月13日 10:57:24

值类型:变量中存储的是具体的数值
引用类型:变量中存储的是内存地址(实例对象的内存地址)。


 

    class Program
    {
        static void DoWork()
        {
            int i = 0;//i是值类型,i中存储的是具体数值
            Console.WriteLine(i);//输出值为0
            Pass.Value(i);//调用pass的value方法,将i的值0传递给value方法
            Console.WriteLine(i);//输出值为0。
            //总结:值类型变量中存储的是具体的数值。做为参数传递时也是具体的数值。

            WrappedInt wi = new WrappedInt();//wi是引用类型,wi中存储的是实例对象wrappedint的内存地址,也就是指向了wrappedint。
            Console.WriteLine(wi.Number);//输出wrappedint对象的mumber字段值为0
            Pass.Reference(wi);//调用reference方法,将wi中的地址传递给reference方法
            Console.WriteLine(wi.Number);//此时输出字段值已变成42
            //总结:引用类型变量中存储的是实例对象的内存地址。做为参数传递时传递的也是内存地址。

            Console.ReadKey();
        }

        class Pass
        {
            public static void Value(int param)//当i的值传递过来时param的值为0
            {
                param = 42;//将42赋值给param,此时param的值为42
            }

            public static void Reference(WrappedInt param)//当wi中的地址传递过来时,param中存储的也是对象wrappedint的内存地址,也就是指向了wrappedint。
            {
                param.Number = 42;//将42赋值给wrappedint对象number字段
            }
        }

        class WrappedInt
        {
            public int Number;//编译器自动初始化number值为0
        }
    }

用C#实现封装

-
  • 1970年01月01日 08:00

【C#基础】值类型和引用类型

在备战软考的过程中,涉及到了原型模式,其中讲到了在浅复制的过程中,值类型和引用类型是有区别的。那么究竟什么是值类型,什么是引用类型呢? 在理解这两个概念之前,我们先谈一谈栈和堆。...
  • qq_26545305
  • qq_26545305
  • 2016-10-23 18:58:18
  • 1215

C#里面的值类型与引用类型的区别

C#里面把数据类型分为两大类,分别为值类型和引用类型,值类型包括基本数据类型(int ,double等),结构和枚举,,,引用类型包括接口,数组,Object类型,类,委托,字符串,null类型等,那...
  • u013360022
  • u013360022
  • 2014-01-04 14:11:08
  • 6958

C#详解值类型和引用类型区别

首先,什么是值类型,什么是引用类型? 在C#中值类型的变量直接存储数据,而引用类型的变量持有的是数据的引用,数据存储在数据堆中。 值类型(value type):byte,short,int,lo...
  • qiaoquan3
  • qiaoquan3
  • 2016-04-20 17:59:42
  • 32785

Java中引用类型和值类型的不同

在Java编程过程中,经常有人会因为没有弄清楚引用类型与值类型的区别而导致各种稀奇古怪的Bug出现,而且出现了还不知道问题在哪里。这里将简单阐述一下两者的区别。 引用数据类型:该类型指向一个对象,而...
  • smart_210_
  • smart_210_
  • 2016-08-13 22:06:33
  • 489

JS之值类型与引用类型,及数据类型间的转换

js数据类型及其转换
  • DeepLies
  • DeepLies
  • 2016-09-26 11:22:22
  • 1456

.Net常见面试题整理(1)——值类型和引用类型

随笔- 39  文章- 0  评论- 105  .Net常见面试题整理(1)——值类型和引用类型 为了防止不提供原网址的转载,特在这里加上原文链接:ht...
  • Litt_J
  • Litt_J
  • 2014-12-16 02:45:55
  • 844

C#中值类型和引用类型及类型的转换

在 C# 中,变量分为以下几种类型: 值类型(Value types) 引用类型(Reference types) 指针类型(Pointer types) 值类型 值类型变量可以直接分配给一...
  • wkyseo
  • wkyseo
  • 2016-10-25 09:52:38
  • 1196

简述值类型和引用类型的区别

区别: 1:值类型的数据存储在内存栈中,引用类型的数据存储在堆中,引用类型的内存单元中存储的是堆中存放的地址。 2:值类型的存取速度快,引用类型的存取速度慢。 3:值类型表示为实际的数据,引用类...
  • LF_GameObject
  • LF_GameObject
  • 2017-04-13 00:01:29
  • 274

JS中值类型与引用类型分析

JavaScript中的值类型与引用类型 数据类型 值/引用类型 备注 undefined 值类型 无值 number 值类型 boolean 值类型 ...
  • SimonITer
  • SimonITer
  • 2016-08-10 20:30:03
  • 1778
收藏助手
不良信息举报
您举报文章:值类型、引用类型
举报原因:
原因补充:

(最多只允许输入30个字)