基础才是重中之重~值类型和引用类型
在 Visual Basic 中,数据类型是基于其类别实现。 根据特定类型的变量存储的是自己的数据还是指向数据的指针,可以对 Visual Basic 数据类型进行分类。 如果它存储的是自己的数据,则它是值类型;如果它保存指向内存中其他位置的数据的指针,则它是引用类型。
如果数据类型在它自己的内存分配中存储数据,则该数据类型就是“值类型”。 值类型包括:
-
所有数字数据类型
-
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
-
所有数组,即使其元素是值类型
-
类类型,class
-
委托
类是一种“引用类型”。 因此,诸如 Object 和 String 之类的引用类型都受 .NET Framework 类支持。 请注意,每个数组都是一种引用类型,即使其成员是值类型。
由于每种引用类型表示基础 .NET framework 类,则必须使用 New 关键字,在初始化时。 下面的语句初始化一个数组。
var person = new Person{}
可以将引用类型或值类型指派给 Object 数据类型的变量。 Object 变量总是存储指向数据的指针,从不存储数据本身。 然而,如果为 Object 变量指派值类型,该变量的行为将如同存储自己的数据一样。 有关更多信息,请参见 Object 数据类型。
可以查看 Object 变量是否通过将为引用类型或值类型到 Microsoft.VisualBasic 命名空间的 Information 类的 IsReference 方法。 如果 Object 变量的内容表示引用类型,则 Information.IsReference 返回 True。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2012-03-21 你必须要知道的架构知识~第五章 依赖住入在这个时候出场了