zoukankan      html  css  js  c++  java
  • C# Cookie

    1  推荐使用 is 或 as 操作符而不是强制

    2  编码风格:Tab ——改成两个 C# 文档注释的快捷键  (将配置表压缩,从压缩文件中查找xml配置表 这个是指Unity项目上面)
    4  静态变量通过类进行访问,该类所有实例的同一静态变量都是同一个值
    5  #pragma为编译器提供的特殊的指令  就是告诉编译器什么事情需要做怎么样的处理。
    6  virtual     override(用于覆写基类的虚方法进行重写)     new(通过隐藏基类方法,使编译器调用正确的方法)
    一般来讲,virtual都是在基类中声明的,override都是在子类中声明的。
    virtual 默认情况下,方法是非虚拟的。不能重写非虚方法。使用override的目的是为了覆写父类的同名方法。
     
    使用new操作符修饰成员可以重新定义继承自基类的非虚成员,在本文中,只具体介绍new作为修饰符的作用,在用作修饰符时,new关键字可以在派生类中隐藏基类的方法,也就说在使用派生类的方法是调用的方法是New关键字新定义出来的方法,而不是基类的方法。在不使用New关键字来隐藏基类方法也是可以的,编译器会出现一个警告,提示如果有意去隐藏基类的方法,请使用New关键字修饰。
     
    这里有个注意事项就是New和Override这两个关键字是互斥的。不可以同时使用。
     
     Virtual 关键字允许在派生类中重写这些对象,默认情况下,方法是非虚拟的,不可以重写非 虚方法,virtual关键字不可以与static、abstract、private、override一起使用。Virtual关键字又是和 override紧密不可分的,如果要实现Virtual方法就必须要使用override或new关键字(new和override产生的机理不同)。
     
    总结:New关键字主要用来区别派生类和基类同名方法的选择问题,通过隐藏基类方法,达到使编译器调用正确的方法的目的。Override主要用来对基类的方法和虚方法进行重写。
    7 IComparable 接口:定义一种特定类型的通用比较方法,值类型或类通过实现此方法对其实例进行排序。
     需要自己实现接口里面的CompareTo方法
    8 输出参数:跟引用参数有点类似:输出参数必须是从方法体内把数据传出到调用代码。
    这里有点类似于 解决一个函数 只有一个 return ,只能返回一个参数的问题
     
  • 相关阅读:
    书单
    x&(x1)表达式的意义
    约瑟夫环,杀人游戏(静态循环链表实现)
    我的第一个动态规划程序(试图用递归求斐波拉契数)
    NYOJ 2题 括号配对问题
    为什么 C++不叫作++C? o(∩_∩)o
    文字常量区,字符串常量
    括号匹配(栈实现)
    Mybatis的逆向工程(generator)
    Mybatis学习一(介绍/举例/优化)
  • 原文地址:https://www.cnblogs.com/lastshadow/p/3426926.html
Copyright © 2011-2022 走看看