• 学在之前


       

    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就不是。无论是值类型还是引用类型都不会传递对象本身,要么是对象的引用,要么是副本。

  • 相关阅读:
    设计模式一:简单工厂模式
    排序算法一:冒泡排序
    设计模式三:工厂方法模式
    设计模式二:单例模式
    >Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
    eclipse打开会出现初始化错误>解决办法
    easyui页面上的增删改功能
    springboot集成druid数据源
    springboot集成shiro的验证
    Java虚拟机
  • 原文地址:https://www.cnblogs.com/LiangSW/p/7168251.html
Copyright © 2020-2023  润新知