C#深入解析数据类型
首先本文将会说到的知识点:
1.值类型和引用类型的原理
2.线程栈和托管堆
3.装箱和拆箱
4.类型判等
基本类型原理:
class Program{static void Main(string[] args){int i = 1;ValueStack vals;vals.x = 2;}}public struct ValueStack{public int x;}
引用类型:
class Program{static void Main(string[] args){People pro = new People{name = "Jinx",age = 18,sex = "女"};}}public class People{public string name;public int age;public string sex;}
class Program{static void Main(string[] args){int ages = 0;People pro = new People{name = "Jinx",age = 18,sex = "女"};ages = pro.age;Console.WriteLine("年龄:{0}", ages);}}public class People{public string name;public int age;public string sex;}
class Program{static void Main(string[] args){int i = 4;Object boxed = i;}}
MSIL代码就不贴了,这里说说它的执行过程
class Program{static void Main(string[] args){int i = 4;Object boxed = i;int j = (int)boxed;}}
过程:
类型判等:
class Program{static void Main(string[] args){People p1 = new People();People p2 = new People();People p3 = p1;int i = 3;double d = 3.0;Console.WriteLine("p1==p2?{0},p1==p3?{1}", p1 == p2, p1 == p3);//运行结果:p1==p2?False,p1==p3?TrueConsole.WriteLine("p1Equals(p2)?{0},p1Equals(p3)?{1}", p1.Equals(p2), p1.Equals(p3));//运行结果:p1Equals(p2)?False,p1Equals(p3)?TrueConsole.WriteLine("i==d?{0}", i == d);//运行结果:i==d?TrueConsole.Read();}}
从上面代码,可以的出一些简要的结论:
![](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
C#深入解析数据类型相关推荐
- Tableau实战系列Tableau基础概念全解析 (二)-万字长文解析数据类型及数据集
前言 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) tableau可视化数据 ...
- 关于 OData 协议的数据类型 - SAP gateway 框架是如何解析数据类型的?
请求能到后台了,但是传进的输入参数没有OpportunityComplexNotesSet这个entityset: Gateway 区分data type的方式很弱,直接通过prefix的naming ...
- php解析js的 arraybuffer_JS的所谓的第七种数据类型Symbol
首先,为什么说叫所谓呢?因为在2007年之前Js给予我们typeof解析数据类型的一共有六种(一直有争议,但是我们暂时就按typeof来算) 'function''Number''Object''bo ...
- json解析和字符串解析_高效创建和解析定界字符串
json解析和字符串解析 描述 (Description) Converting a delimited string into a dataset or transforming it into u ...
- JAVA解析TDMS文件
2023年更新: 没想到还有人关注,上传了最新代码 https://github.com/yc97/TDMSDecoder 该代码经过测试,基本没什么bug了 reference: http://ww ...
- FLV科普12 FLV脚本数据解析-Metadata Tag解析
AMF(Action Message Format)是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HTTP层面上传输.现在很多Flash WebGame都采用这样的消息格式. ...
- MySQL精讲(一) |DQL数据查询语句全解析
MySQL精讲系列文章(更新完毕) <MySQL入门必看知识> <MySQL精讲(一) | DQL数据查询语句全解析> <MySQL精讲(二) | DML数据操作语句全解 ...
- Spring源码深度解析(郝佳)-学习-源码解析-factory-method
本文要解析的是Spring factory-method是如何来实现的,话不多说,示例先上来. Stu.java public class Stu {public String stuId;publi ...
- c++ MP4文件解析
最近写了个解析MP4的类来解析MP4文件,现在来聊一聊,有不对的地方,请大家指正,谢谢. 说点要注意的地方: 1.首先MP4的数据是网络字节序,也就是按照大端进行存储(高位在低地址),所以我们在解析b ...
最新文章
- 统计学Java_【gloomyfish】基于Java的统计学计算结果
- <X86汇编语言:实模式到保护模式>四十六 中断和异常的处理与抢占式多任务
- 巡检水中机器人_海洋与地球学院学子在2020年国际水中机器人大赛中获得佳绩...
- 如何在cmd命令行中查看、修改、删除与添加环境变量
- Android-电话录音服务
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- EditThisCookie使用
- ShopNc实例化对象
- hdoj1465错排公式的应用(递推)
- 多思计组原理虚拟实验室_多思计算机组成原理虚拟实验室
- 开启NTP时钟服务器,让电脑变成网络时间服务器
- java输入输出流详解_Java输入输出流详解
- 计算机模块中的画板英文,电脑中将画板导入Mockingbot的方法
- 利用Python爬虫批量下载百度图库图片
- [数据库] 一文搞懂case when所有使用场景
- visual_studio2012、vs2012下载
- nvm use不生效
- SWFObject 2.0
- 深度优先搜索算法及其MATLAB实现
- WA4320-ACN-E刷胖AP固件过程及问题
热门文章
- (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型
- 6-5-3:STL之stack和queue——优先级队列-priority_queue(堆)的基本使用和模拟实现以及仿函数
- 编译原理中词法分析的递归下降分析法实例--能被5整除的二进制数---c语言实现
- Linux下查看串口信息
- Visual paradigm Db Archtecture Database config
- DCOM EXCE权限配置问题
- 数据库(三),底层算法
- Ubuntu16.04 问题汇总
- Observable观察者模式的使用
- SQL Server 2014如何提升非在线的在线操作