学在之前

   

COM Cmponent Object Model

组件对象模型,COM组件是win32动态链接库(dll)或者可执行文件(exe)形式发布可执行代码组成。

是一些小的二进制可执行文件,给应用服务、操作系统其它操作提供服务。

   

C#语言

完全遵守C#语言规范,只要平台支持,可以跑在任何平台上。并非只有.NET平台,也可以进行其它更多的形式输入,并非只有IL

   

运行时

确保IL写的程序符合CLI规范的方式执行,CLRC#编译成IL ,再由CLR编译成本地码

   

   

C#1

委托实例有一个操作列表,也就是调用列表,System.Delegate类型的静态方法CombineRemove负责连接与删除

委托不易变,创建后就不能改变。所以安全传递引用,并与其它委托实例合并,就像stringDelete.Combinestring.Concat类似,都是合并现在的实例形成新实例,不更改原始对象。

Combine == > + / +=

   

值类型与引用类型

值类型不可以派生出其他类型,值不需要额外的信息描述值实际是什么类型,引用类型每个对象的开头包含一个数据块,标识了对象的实际类型,永远都不能改变对象的类型。

强制转换时,运行时获取一个类型,检查引用对象是不是目标类型的有效对象,有效就返回原始引用 ,引用本身不知道对象类型。同一个引用 "值 "可用于(引用)不同类型的多个变量

对于引用类型来说 ,变量的值就是引用

   

走出误区之引用类型保存在堆上,值类型保存在栈上

变量的值是在它声明的位置存儲的,类中有int类型属性,这个属性和它的对象是在一起的,也就是堆上

走出误区之 对象在C#中默认通过引用传递

并不是所有的引用类型对象都是引用传递,像stringstringbuilder就不是。无论是值类型还是引用类型都不会传递对象本身,要么是对象的引用,要么是副本。

转载于:https://www.cnblogs.com/LiangSW/p/7168251.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值