C#的引用类型

C#的另一大数据类型是引用类型。“引用”这个词在这里的含义是,该类型的变量不直接存储包含的值,而是指向它所要存储的值。也就是说,引用类型存储实际数据的引用值的地址。C#中的引用类型有四种:

●类

●代表

●数组

●接口

我们将在这里介绍前三种引用类型(请访问以下链接),而把对接口的深入进述将放在第十五章进行。

4.2.1 类

4.2.2 代表

4.2.3 数组

时间: 2024-11-18 09:41:45

C#的引用类型的相关文章

.NET中的六个重要概念:栈、堆、值类型、引用类型、装箱和拆箱

内容导读 •概述 •当你声明一个变量背后发生了什么? •堆和栈 •值类型和引用类型 •哪些是值类型,哪些是引用类型? •装箱和拆箱 •装箱和拆箱的性能问题一.概述 本文会阐述六个重要的概念:堆.栈.值类型.引用类型.装箱和拆箱.本文首先会通过阐述当你定义一个变量之后系统内部发生的改变开始讲解,然后将关注点转移到存储双雄:堆和栈.之后,我们会探讨一下值类型和引用类型,并对有关于这两种类型的重要基础内容做一个讲解. 本文会通过一个简单的代码来展示在装箱和拆箱过程中所带来的性能上的影响,请各位仔细阅读

值类型与引用类型(中)

本文将介绍以下内容: 类型的基本概念  值类型深入 引用类型深入 值类型与引用类型的比较及应用    1. 引言 上回[第八回:品味类型---值类型与引用类型(上)-内存有理]的发布,受到大家的不少关注,我们从内存的角度了解了值类型和引用类型的所以然,留下的任务当然是如何应用类型的不同特点在系统设计.性能优化等方面发挥其作用.因此,本回是对上回有力的补充,同时应朋友的希望,我们尽力从内存调试的角度来着眼一些设计的分析,这样就有助于对这一主题进行透彻和全面的理解,当然这也是下一回的重点. 从内存角

JAVA 【引用类型】和【对象类型】在【继承】中的异同

介绍     JAVA [引用类型]和[对象类型]在[继承]中的异同,这个问题自己整理过N次,也被人当菜鸟问过N次.所以,在此简单整理一下,以供大家分享. 在继承关系中,一般成员变量是根据引用类型 在继承关系中,静态成员变量是根据引用类型 在继承关系中,一般方法是根据对象类型 在继承关系中,静态方法是根据引用类型 注意     静态成员变量,静态方法是基于类的,本文为了测试观察,所以,会用对象去引用静态成员变量和静态方法.      Super Class: package shuai.stud

C# 引用类型、值类型

CLR支持两种类型:引用类型和值类型,它们的区别是在内存分配方式上的差异:引用类型是从托管堆上分配的:值类型是在线程栈上分配的.而CLR的垃圾回收是针对托管堆的,因此值类型不受垃圾回收器的控制. 在FCL中,所有称为"结构"(struct)的类型都是值类型,所有称为"类"(class)的类型都是引用类型.所有的Struct都直接派生自抽象类System.ValueType,而System.ValueType直接从System.Object派生.所有的枚举都直接从Sy

C#高级编程阅读笔记一(关于值类型和引用类型)

笔记|编程|高级 数据在内存中的存储位置,取决于它的数据类型,在C#中,分为值类型和引用类型,值类型的数据存储在内存中的堆栈中,每个变量或程序都有自己的堆栈,不可以共用一个堆栈地址.当数据一个值类型的变量传递到另一个相同类型的变量时,会在堆栈中分配两个不同的地址. 而引用类型的数据存储在内存中的堆中,可以不同的变量或程序共同使用同一个位置的数据.当数据从一个引用类型的变量传递到另一个相同类型的变量时,只是把这个变量的引用地址传递给新的变量,同时引用当前堆中存储的数据. 可以通过实例得到详细结论:

C#基础(四)(C#预定义值类型和引用类型)

一.预定义类型. 1.值类型和引用类型 C#中的数据类型,可以分为值类型和引用类型,值类型存储在堆栈上,而引用类型存储在托管堆上. 如下代码示例, int i=10; int j=i; i和j的值都是10,并且在内存中会有两个地方存储10. 再看下面的代码 Vector x=new Vector(); x.Value=20; Vector y=x; Console.WriteLine(y.Value); y.Value=50; Console.WriteLine(x.Value); Vector

C#类和接口、虚方法和抽象方法及值类型和引用类型的区别

1.C#类和接口的区别 接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念! 而类是负责功能的具体实现! 在类中也有抽象类的定义,抽象类与接口的区别在于: 抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化. 但接口是一个行为的规范,里面的所有东西都是抽象的! 一个类只可以继承一个基类也就是父类,但可以实现多个接口 PS:接口除了规范一个行为之外,在具体项目中的实际作用也是十分重要的,在面向对象的设计原则以及设计模式的使用中,无不体现

Java性能优化[1]:基本类型 vs 引用类型

在Java性能优化系列中,内存管理是一个要优先考虑的关键因素.而说到内存分配,就必然会涉及到 基本类型和引用类型.所以我们今天就先来介绍一下这两种类型在性能方面各自有什么奥妙(关于这两 种类型在其它方面的奥妙,我会另外写一个帖子). ★名词定义 先明确一下什么是基本类型,什么是引用类型.简单地说,所谓基本类型就是Java语言中如下的8种 内置类型:boolean.char.byte.short.int.long.float.double.而引用类型就是那些可以通过 new来创建对象的类型(基本上

浅析值类型与引用类型的内存分配

大家都知道要学好 .NET,深入了解值类型和引用类型是必不可少的.在这里我给大家简单分析一下它们内存分配的区别和联系. 在分析之前,我们先行构造出一个最简单的类引用类型: public class MyClass { } 局部变量的声明 在我们使用类型时,代码里面必然少不了变量的声明,我们先看一下方法内的局部变量的声明,请看如下代码: private static void Main() { int i; MyClass mc; i = 5; mc = new MyClass(); } 当一个局