10、函数
-
函数声明的格式
static 返回值类型 函数名(形参1,形参2) { //函数体 return [返回值]; } -
函数名用帕斯卡命名法,形参用驼峰命名法
-
函数只能在class和struct中声明
-
static 是可选的,除了类和结构体都需要写
-
函数内部运行到return后直接跳出函数体
-
多返回值
static ConsoleAB 函数名(int num1, int num2) { //1.返回数组 int[] arr = {1, 2, 3} return arr; //2.返回新数组 return = new int[] = {1, 2, 3}; } -
形参修饰符 ref 与 out
- ref 变量必须在外部初始化后才能传入
- out 变量传入后必须在内部初始化
-
函数重载
- 函数名相同,返回值相同,仅传递的形式参数的个数、位置、顺序不同,就称为重载函数。一般用来处理不同参数的统一类型问题。
-
递归函数
- 在函数内部,自己调用自己,且一定有出口的函数就是递归函数。
int i = 0; static void fun() { i++; if(i > 100) return; else fun(); }
11、结构体
1. 访问修饰符
- public 公共的 内外都能访问
- private 私有的 只能在结构体内部被访问
- protected 保护的 只能在子类和内部访问
2. 结构体名用帕斯卡命名法
3. 声明成员变量时不可初始化
4. 声明成员函数时不能使用static
5. 结构体构造函数
- 没有返回值
- 函数名与结构体名称相同
- 必须有参数
- 若声明了构造函数,则必须对所有成员变量初始化
6. 结构体的声明
struct 结构体名称
{
//第一部分
//成员变量
//第二部分
//构造函数 (可选)
//第三部分
//成员函数
}
7. 结构体的使用
struct Student
{
private string stuName;
private char sex;
private string stuId;
public Student(string stuName, char sex, stuId)
{
//结构体内部的变量 = 外部传入的形参
this.stuName = stuName;
this.sex = sex;
this.stuId =stuId;
}
public string GetStuId()
{
return stuId;
};
}
Student stu1;
//在外部使用构造函数方便初始化
stu1.Student("张三", 'M', "B20203333333");
//调用成员函数访问内部数据
Console.WriteLine("stu1.GetStuId");