-
封装
- 访问修饰符
- public 所有对象对可以访问
- private 对象本身在对象内部访问
- prorected 只有该类对象及其子类对象可以访问
- internal 同一个程序集的对象可以访问
- protected internal 访问限于当前程序集或派生自包含类的类型
- 访问修饰符
-
方法
- 调用方法 <Access Specifier> <Return Type> <Method Name> (Parameter List)
- Access Specifier: 访问修饰符,这个决定了变量或者方法对另一个类的可见性
- Return Type: 返回类型,一个方法可以返回一个值
- Method Name: 方法名 大小写敏感,不能与类中的其他声明的其他标识符相同
- Parameter List: 参数列表
- 递归方法
- 一个方法可以自己调用自己就是所谓的递归
- 递归三要素
- 什么时候改结束
- 递归需要做啥
- 递归的返回值需要返回的值是啊
- 递归三要素
- 一个方法可以自己调用自己就是所谓的递归
- 参数的传递
- 值参数
- 引用参数,使用 关键字 ref, 调用方式: ref Type Parameter
- 输出参数(可以返回多个值)使用关键字 out , 调用方式: out Type Parameter
- 输出参数不用赋值,当需要从一个参数没有初始化值得方法中返回值时, 输出方式特别有用
- 调用方法 <Access Specifier> <Return Type> <Method Name> (Parameter List)
-
可空类型(Nullable)
- ?: 单问号用于对 int、 double、bool等无法直接赋值为null的数据类型进行null赋值, 意思是这个数据类型是nullable类型的
- Null 合并运算符(??)
- Null合并运算符把操作数类型隐式的转换为一个可空的(或不可空)的值类型的操作数的类型
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RectanglePack { class Rectangle { protected internal double m_length; protected internal double m_width; double GetArea() { return m_length * m_width; } public void Display() { Console.WriteLine("长度: {0}", m_length); Console.WriteLine("宽度: {0}", m_width); Console.WriteLine("面积: {0}", GetArea()); } } }; namespace StudentCShrap { class MainClassTest { static void Main(string[] args) { double? num1 = null; double? num2 = 3.1415926; double num3; num3 = num1 ?? 6.34; //如果num1 为null时 num3 = 5.34,否则等于num1 Console.WriteLine(num3); //6.34 num3 = num2 ?? 3.14; Console.WriteLine(num3); // 3.1415926 Console.ReadKey(); } } } 输出: 6.34 3.1415926
- Null合并运算符把操作数类型隐式的转换为一个可空的(或不可空)的值类型的操作数的类型