C#从入门到入土(三)

136 阅读2分钟

10、函数

  1. 函数声明的格式

    static 返回值类型 函数名(形参1,形参2)
    {
        //函数体
        return [返回值];
    }
    
  2. 函数名用帕斯卡命名法,形参用驼峰命名法

  3. 函数只能在class和struct中声明

  4. static 是可选的,除了类和结构体都需要写

  5. 函数内部运行到return后直接跳出函数体

  6. 多返回值

    static ConsoleAB 函数名(int num1, int num2)
    {
        //1.返回数组
        int[] arr = {1, 2, 3}
        return arr;
        //2.返回新数组
        return = new int[] = {1, 2, 3};
    }
    
  7. 形参修饰符 ref 与 out

    1. ref 变量必须在外部初始化后才能传入
    2. out 变量传入后必须在内部初始化
  8. 函数重载

    • 函数名相同,返回值相同,仅传递的形式参数的个数、位置、顺序不同,就称为重载函数。一般用来处理不同参数的统一类型问题。
  9. 递归函数

    • 在函数内部,自己调用自己,且一定有出口的函数就是递归函数。
    int i = 0;
    static void fun()
    {
       i++;
       if(i > 100)
           return;
       else
           fun();
    } 
    

11、结构体

1. 访问修饰符

  • public 公共的 内外都能访问
  • private 私有的 只能在结构体内部被访问
  • protected 保护的 只能在子类和内部访问

2. 结构体名用帕斯卡命名法

3. 声明成员变量时不可初始化

4. 声明成员函数时不能使用static

5. 结构体构造函数

  1. 没有返回值
  2. 函数名与结构体名称相同
  3. 必须有参数
  4. 若声明了构造函数,则必须对所有成员变量初始化

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");