C#数据类型 初步认识
来源:互联网 发布:二次元 社区 论坛源码 编辑:程序博客网 时间:2024/06/05 09:43
C#的数据类型分为两种,值类型和引用类型。
这里是我从.net2.0 书籍得到微软对其的具体分类 ----(.net framework 2.0 程序设计)
有一点值得大家注意,所有的数据类型都直接或间接继承了Object的类型。
string 类型是直接继承了Object
所有值类型直接继承了ValueType 同时也继承了Object (笔者无法对其继续深入了) 这是一个细节,大家切记
那两种类型是如何在内存分配呢?
1.值类型的变量是直接存储数据,实例是被分配在栈中的,特性 永远不能为空!
2.引用类型的变量存储的是数据在内存的地址,而实例是被分配在可以进行垃圾回收的堆中的!引用类型的变量可以为空
具体的,来讲讲引用类型的一些特点吧
1.一份数据可以被多个变量引用,这样做节省资源,但是数据源只有一份,都数据源进行修改,就会导致有引用该数据的变量都有变化。
我们直接来代码吧
例子1
class Program
{
static void Main(string[] args)
{
int i = null;
string str = null;
}
}
大家都知道 int i =null ;这样声明是错的,具体原因是什么呢,其实就值类型永远不能为空,这个特性
string str =null 这样声明就是对的呢,是因为应用类型是可以为空 。
例子2
static void Main(string[] args)
{
string str1 = "";
string str = null;
}
这两种声明有什么区别呢 第一张其实在内存已经开辟了空间存放变量,而第二中只是声明一个内存地址 没有去开辟内存空间
笔者先谈这么多,下次继续
- C#数据类型 初步认识
- C#3.0 初步认识LINQ
- mysql初步认识,了解mysql中的基本数据类型
- μC/OS-II系统初步认识及基本数据类型
- Unit4二进制存储、运算符、引用数据类型初步认识
- 【C#基础】初相识——初步认识C#
- 黑马程序员--基本数据类型的自动装箱与拆箱(享元模式的初步认识)
- JAVA新手入门--对数据类型/标识符/包等概念的初步认识与了解
- IBM AIX初步认识
- 指针的初步认识!
- 初步认识Struts
- ARCSDE初步认识
- ajax初步认识
- 初步认识 JSON
- 初步认识JFreeChart
- Oracel初步认识
- 初步认识Irr引擎
- Struts初步认识
- js中几种实用的跨域方法原理详解
- 用adb查看sqlite数据库
- BenchmarkSQL用于windows上的压测加载数据时出现错误:找不到或无法加载主类LoadData
- hdoj Co-prime 4135 (容斥原理)
- context是如何泄漏的 - Handlers和内部类
- C#数据类型 初步认识
- 2015年最热门前端框架React 入门实例教程
- Apache下rewrite配置
- Android Handler
- MindMapper中怎样实现文字多行输入
- hadoop学习002
- 机器学习领域的会议&大牛
- android进程和线程使用总结
- 个推PC端推送消息至App