C#入门经典(重要常识点)

时间:2022-05-27 05:50:00

一、重载和笼罩的区别:

  不异点: 都涉及两个同名的要领。

   差别点: 1.类条理 :重载涉及的是同一个类的两个同名要领;.笼罩涉及的是子类的一个要领和父类的一个要领,这两个要领同名。

       2.参数和返回值 : 重载的两个要领具有差此外参数,,可以有差别返回值类型;笼罩的两个要领具有不异的参数,返回值类型必须不异。

二、要领的隐藏(关键字new)

  若笼罩时没有使用virtual和override关键字,则称子类的要领隐藏了父类的要领。

  此时编译器报警告。若要消除去警告,可以使用new修饰符。 C# 会按照引用的类型决定挪用哪个类的要领。

  关键字new和override的区别:

    (1).new修饰的要领暗示显式隐藏基类担任的同名要领,不能够用基类的引用访谒派生类的new要领。

    (2).override暗示重写基类的虚要领,可以用基类的引用指向派生类东西来访谒派生类的重写要领。

三、密封类(关键字sealed)

  C#供给一种不能被担任的类,称为密封类。密封类的声明要领是在类名前加上sealed修饰符。修饰符abstract和sealed不能同时使用。

四、多态

  (1)编译时多态——重载;(2)运行时多态——动态绑定(虚函数)

五、参数数组(params)

  在不能确定需要通报几多个参数的时候可以使用params关键字指明一个可变的参数数组。

   数组参数的类型必需是一维数组,而且必需是形参表中的最后一个参数。

   数组参数始终是值通报方法进行通报,不能将params同ref和out组合。(引用参数——ref,输出参数——out)

  eg:   params int[ ] Nums