zoukankan      html  css  js  c++  java
  • c# 之前不会的

    1  c# 的虚拟方法,关键字就是virtual,方法声明为虚拟方法才能被ovveride.

    2 隐藏方法的  比如我写个class,你继承我的class 就叫YouClass,但是以后我发现我写的MyClass ,功能跟不上潮流了,要改方法,看到你在继承的类的里,写了一个方法h(),我在MyClass里也是有了一个 h(),虽然两个方法的都是一样的签名,但是都没有使用virtual和ovverifde,但是只是方法的名字相同,其实方法体完全不同,但是我要调用的时候,那我应该调用那个方法呢,,貌似是有点冲突的,,我们这时候就可以使用方法的隐藏了

    public new int H(){  }这样就能实现方法的隐藏

    3 匿名对象,,有时候你不需要知道对象的名字,你只要用到对象的一些属性 ,你可以把它声明为类,但是这样的岂不是又多了一个类,,我们就可以考虑使用 匿名对象

    关键字就是在js中最常见var  例如 var m= new  {name="handsome " ,age=20 }  你就可以直接掉用,就是 string myName=m.name 就是handsome 你也可以声明多个匿名对象 我在声明一个 var y=new {name=m.name}  也是可以得哦

    4 密封方法|| class 当我千辛万苦的写了一个方法(类)的时候,不想被人家修改,但是我说,人家肯定会忘记的,,必须靠代码啊 只要把方法声明为sealed 的就行了,,

    5 checked 要求CLR运行溢出检查 unchecked就是 禁止检查

    6 托管代码就是可以通过jit编译成IL的代码,而非托管代码就是,,,,,

    7托管堆是CLR中自动内存管理的基础。初始化新进程时,运行时会为进程保留一个连续的地址空间区域。这个保留的地址空间被称为托管堆。托管堆维护着一个指针,用它指向将在堆中分配的下一个对象的地址。最初,该指针设置为指向托管堆的基址。

    8 元数据 元数据其实就是一个纯粹的说明,这些数据说明可以发送给另一个程序域(可能在另一台机器上,也可能是本机),然后将这些数据进行还原  中间就相当于zip文件=》正常文件 变成zip文件的就是.Net的序列化, 解压就是反序列化了

    9 ref 和out 方法参数传递的时候可以通过正常情况下的数据类型  但是如果我要求传递一个数组,要求这个数组传递之后经过改变还赋值给原来的数组变量 就是ref 关键字而呕吐关键字就是 我要传递一个参数,但是我不想给他初始值,因为我用不到他的初始,就可以用out

    10 静态构造函数只实行一次 ,无参数,无访问修饰符,所以其他程序调用不了她,她也之能用他自己的静态变量 为什么要用到静态构造函数 ,比如我要在实例化这个类之前,要给某些变量赋值,

    11 虚拟与抽象 .抽象函数. 和虚方法相似, 或者说是一种特殊的虚方法(函数). 不同的是虚方法(函数)在父类可以提供实现, 而抽象函数则在父类不可以提供实现, 由子类则必须实现.

    抽象的类不能被实例化,抽象函数不能直接实现 ,必须在非抽象的派生类中重写

  • 相关阅读:
    Linux 开机启动 php socket
    Linux 判断进程是否运行
    应用容器公共免费部署平台
    dos2unix 批量转化文件
    django中多个app放入同一文件夹apps
    django无法同步mysql数据库 Error:1064
    cos migration工具webhook推送
    腾讯云 COS 对象存储使用
    docker nginx 运行后无法访问
    makefile中 = := += 的区别
  • 原文地址:https://www.cnblogs.com/http-www/p/3420437.html
Copyright © 2011-2022 走看看