C#-变量类型(值类型、引用类型)

第一次发这样的笔记呢!

这个是在再读基础的时候感觉自己理解的东西吧

变量的类型差异在数据的存储方式不一样,值类型是变量本身直接存储数据,另一个则是存储实际变量的引用,

值类型:都是存储在栈中的,都是直接访问实例,不能为null (如果存储的数据大于类型规定就会出现溢出和异常)

引用类型:需要New实例化,在堆中开辟的空间然后是在栈中引用的地址,

时间: 2024-10-18 18:21:37

C#-变量类型(值类型、引用类型)的相关文章

浅谈PHP变量的值类型和引用类型

看到网友在讨论PHP的&符号,要彻底理解它的用法,就有必要讨论一下变量的两种形式. PHP的变量在内存中是这样存储的,变量保存的并不直接是值的内容,而是地址.例如: $a = 1; 我们看起来,似乎变量$a直接存储了 1 这个值.而实际情况是,PHP解释器创建了变量$a,将值:1 存入内存中的某个地方,再将值的地址存到变量$a中. 需要取值时,先找到变量$a中的地址,再根据地址找到变量的值. 往下看: echo $a; 会输出1,PHP解释器会这样完成这一样代码:找到$a中存储的地址,根据地址找

PHP变量的值类型和引用类型

PHP 变量在内存中保存的并不直接是值的内容而是值的地址.比如: $a = 1; 从表面上看起来似乎是 $a 直接存储了 1 这个值.但是实际情况是,PHP 解释器创建了变量 $a , 将值 1 存入内存中的某个地方,再将值的地址存到变量中. 需要取值时,先找到变量中 $a 的地址,再根据地址找到变量的值. 比如: echo $a; 当我们执行上面这个语句时,会输出 1 ,但是 PHP 解释器会完成这样一段代码:找到 $a 中存储 的地址(即:先取 $a 的地址),根据地址找到存在内存中某个地方

品味类型——值类型和引用类型

基本概念 值类型(Value Type): 值类型实例通常分配在线程的堆栈(Stack)上,并且不包含任何执行实例数据的指针,因为变量本身就包含了其数据实例.其在MSDN的定义为:值类型直接包含它们的数据,值类型的实例要么在堆栈上,要么在内联在结构中. 值类型主要包含:简单类型.结构体类型.枚举类型等.通常声明为一下类型:int.char.float.long.bool.struct.enum.short.byte.decimal.等等. 引用类型(Reference Type): 引用类型实例

值类型,引用类型

值类型 (value type) 一种由类型的实际值表示的数据类型.如果向一个变量分配值类型,则该变量将被赋以全新的值副本.(这与引用类型不同,在引用类型中,赋值时不创建副本.)值类型通常创建在方法的栈帧上,而不是在垃圾回收堆中.可以对值类型进行装箱,这是一个创建相应引用类型的过程. 引用类型 (reference type)  由类型的实际值引用(类似于指针)表示的数据类型.如果为某个变量分配一个引用类型,则该变量将引用(或“指向”)原始值.不创建任何副本.引用类型包括类.接口.委托和装箱值类

12-12面向对象--引用类型与值类型、命名空间与类库

五.引用类型与值类型 .NET将变量的类型分为值类型与引用类型.例如int和float之类的变量属于值类型,而“类“类型的变量属于引用类型. 值类型与引用类型的变量在使用上是有区别的. 值类型的变量在一定义之后就可以马上使用. 引用类型的变量定义之后,还必须用new关键字创建对象后才可以使用. 如上图,创建两个新的对象时,直接比较两个对象是否相等,返回的bool值为false.因为两个对象都是新开辟的一个空间变量,彼此没有任何关系,所有是不相等的. 如图2:1)创建的第一个新的对象ss1,给ss

现金与存折---值类型和引用类型

在软考的时候也接触过值类型和引用类型,那时候应付做题还是可以的,可是考完之后再突然面对这两个词汇,又觉得迷茫无措了.现在想想,还是实践吧,当时只是简单的了解了其原理,没有用代码来实现,所以只能算是初步的,暂时的了解.这篇文章就是为了弥补初步的遗憾,进行深一步的学习. 理论联系实践,才是对现实的超越.就像门和钥匙一样,完美结合才有防窃和安全之功效.所以,该篇文章的主要思路也是从理论和实践两个方面分别对"值类型和引用类型"进行详细阐述. --------------------------

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

引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制.复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制和深度复制又是以如何复制引用类型成员来划分的.由此又引出了引用类型和值类型,以及相关的对象判等.装箱.拆箱等基础知识.索性从最基础的类型开始自底向上写起. 值类型和引用类型 先简单回顾一下C#中的类型系统.C# 中的类型一共分为

c#值类型和引用类型

值类型值类型的特性:1.C#的所有值类型均隐式派生自System.ValueType.各个值类型及其基类:结构体:struct(直接派生于System.ValueType):数值类型:整型:short(System.Int16),ushort(System.UInt16),int(System.Int32),uint(System.UInt32),long(System.Int64),ulong(System.UInt64),sbyte(System.SByte的别名),byte(System.

Java中值类型与引用类型

JAVA中值类型和引用类型的不同? 1.定义 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变:值类型表示复制一个当前变量传给方法,当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.通俗说法: 值类型就是现金,要用直接用:引用类型是存折,要用还得先去银行取现. 2.分类 (1)值类型 值类型也就是基本数据类型 基本数据类型常被称为四类八种. 四类:1.整型 2.浮点型 3.字符型4.逻辑

第5章 基元类型、引用类型和值类型

5.1编程语言的基元类型 编译器(Compiler)直接支持的数据类型称为基元类型(primitive type). 我希望编译器根本不要提供基元类型名称,强制开发人员使用FCL(Framework类库)类型名称: 许多开发人员都困惑于到底应该使用string还是String.由于C#的string直接映射到System.String,所以两者是没有区别的.int始终映射到System.Int32,所以不管在什么操作系统上运行,代表的都是32位整数. 5.2引用类型和值类型 虽然FCL中大多数类