A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡元江 中级黑马   /  2013-2-25 16:04  /  1400 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

值类型引用类型怎么分辨   

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

4 个回复

倒序浏览
好像要记的吧?没听说过怎么分辨

111.jpg (44.71 KB, 下载次数: 27)

111.jpg

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
值类型
如果数据类型在它自己的内存分配中存储数据,则该数据类型就是“值类型”。 值类型包括:
所有数字数据类型
Boolean 、Char 和 Date
所有结构,即使其成员是引用类型
枚举,因为其基础类型总是 SByte、Short、Integer、Long、Byte、UShort、UInteger 或 ULong
每个结构是值类型,因此,即使它包含引用类型成员。 因此,值类型 (如 Char 和 Integer 由 .NET framework 结构实现。
可以通过使用保留关键字(例如 Decimal)声明值类型。 也可以使用 New 关键字初始化值类型。 这对于值类型有一个带参数的构造函数的情况尤为有用。 此示例有 Decimal(Int32, Int32, Int32, Boolean, Byte) 构造函数,它从提供的部分生成新的 Decimal 值。
引用类型
“引用类型”包含指向存储数据的其他内存位置的指针。 引用类型包括:
String
所有数组,即使其元素是值类型
类类型,如 Form
委托
类是一种“引用类型”。 因此,诸如 Object 和 String 之类的引用类型都受 .NET Framework 类支持。 请注意,每个数组都是一种引用类型,即使其成员是值类型。
由于每种引用类型表示基础 .NET framework 类,则必须使用 New 运算符 (Visual Basic) 关键字,在初始化时。 下面的语句初始化一个数组。
Dim totals() As Single = New Single(8) {}

MSDN的解答,我的个人理解就是那些实在存在的类型,比如数字、true、false,引用类型就是那些抽象的类型,比如类

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
给你贴了图 你可以看看

160940odzi1ioorbdz8b57.jpg (44.71 KB, 下载次数: 29)

160940odzi1ioorbdz8b57.jpg
回复 使用道具 举报
值类型与引用类型的区别:
1.将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身。
2.值类型不可能派生出新的类型:所有的值类型均隐式派生自 System.ValueType。但与引用类型相同的是,结构也可以实现接口。
3.值类型不可能包含 null 值:然而,可空类型功能允许将 null 赋给值类型。
4.每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。

希望对你用所帮助。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马