zoukankan      html  css  js  c++  java
  • C#基础精华02(静态类,值类型,引用类型,枚举,结构,ref与out)

    静态类

    静态类不能被其他类继承,静态成员亦不能被继承(访问的是同一个),备注1.
    静态类只能继承自Object类。(静态类不能继承自其它类。)
    继承(多态)、静态本身就是相反的。
    静态类不能实现任何接口, (因为接口中的成员都是实例成员。*)
    sealed:(*)密封类,不能被继承。
    sealed关键字,表示类不能被继承。(密封类)
    密封类表示不能被继承。String类。.net系统中本身对字符串有很多特殊处理(为String开了很多“绿灯”,String有很多特权,比如:不可变性,字符串池等等。),防止别的类继承后造成混乱。商业问题。
    禁止子类重写父类的方法。
    静态类的本质abstract+sealed(*,知道即可)static
    静态类不能被实例化:abstract
    静态类不能被继承:sealed


    值类型:
    int、char、double、float、long、short、byte、bool、enum、struct、decimal
    值类型都是派生自ValueType
    值类型不能继承,只能实现接口。





    引用类型:
    string、数组、类(子定义数据类型)、接口、委托、
    int[] n={1,2,3};//引用类型。
    引用类型都派生自:Object
    引用类型可以继承(类之间可以继承)







    枚举
    一组和数值有关的常量
    enum Gender { Male,Female}
    enum Weeks { 星期日=0,星期一,}

    把字符串转换成枚举Gender g = (Gender)Enum.Parse(typeof(Gender), "Male");



    结构
    就是小类,值类型
    不能继承类
    可以实现接口
    不能有显示无参构造函数(隐式)

    结构中不能给字段赋初始值



    ref与out

    1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。 
    2、使用ref和out时,在方法的参数和执行方法时,都要加ref或out关键字。以满足匹配。 
    3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

    ref :可进可出,要赋初值

    out :只出 不进  可以没有初值

  • 相关阅读:
    《学习要像加勒比海盗》读书摘录
    【转载】关于软件测试的几点思考
    黑客与画家 摘录
    基于Jenkins的持续集成CI
    重新开始,整装出发
    java重写equals方法需要注意的几点
    《Google软件测试之道》摘录
    Using sql azure for Elmah
    Invalid object name ‘sys.configurations’. (Microsoft SQL Server, Error: 208)
    Cannot install ubuntu or other linux flavours on citrix Xen server
  • 原文地址:https://www.cnblogs.com/CSharpLover/p/5193695.html
Copyright © 2011-2022 走看看