方法的基本知识

方法

1.方法的概念

  • 方法就是将一堆代码重用的一种机制,类似于C++中的函数。

2.方法的语法

[public] [static] 返回值类型 方法名([参数列表])
{
    方法体;
}

注意: 

  1. public : 访问修饰词,可以省略,使用它时代表这个方法是公用的,谁都可以访问。
  2.  static :静态的。
  3. 返回值类型:int、string、char等,若没有返回值就是void。
  4. 方法名:遵循Pascal命名规则。
  5. 参数列表:完成这个方法所必须要提供给这个方法的条件。

3.方法的调用 

  • 调用方法:
类名.方法名([参数])
  • 注意:如果调用同一个类里面的方法,类名可以省略。 

调用问题:我们在main( )中调用的一个方法,我们管main( ) 为调用者,而调用的方位为被调用者。

  1. 通过传递参数。
  2. 使用静态字段来模拟全局变量。
     静态字段不属于任何对象,只属于类,
    public static 数据类型 _名字

4.return的作用 

  1. 在方法中用以返回值,需要由变量接应。
  2. 立即结束本次方法。  

5.方法的高级参数

out: 

  1. 可以帮助我们在一个方法中返回多个值,不限类型。
  2. 使用out参数的时候,要求out参数必须在方法内为其赋值,也就是初始化
public static int[] test(int[] nums,out int max)
{
    //out参数必须在方法体内初始化
    max = 0;
    max++;
    其他的代码
    return max;//在数组类型的方法中返回整型变量
}

static void Main(string[] args)
{
    int[] numbers = {1,2,3,4,5};
    int i = 0;
    int n = test(numbers,out i);
}

ref参数: 

  1. ref参数侧重于将一个变量以参数的形式带到一个方法中进行改变,改变完成后,再将改变后的值带出来。
  2. 在使用ref参数的时候需要注意:ref参数在方法外必须为其赋值,也就是初始化。
public static void jiafa(ref int s)
{
    s += 500;
}

static void Main(string[] args)
{
    //ref在使用前需要先初始化变量的值,在方法体外先初始化
    int a = 1000;
    jiafa(ref a);
    Console.WriteLine(a);//输出a=1500
}

params参数: 

 不定参数个数关键字,如果参数列表还有其他参数,params修饰的参数一定要放到最后一个。

public static void test(string name,params int[] score)
{
    int sum = 0;
    for(int i = 0;i < score.Lengt;i++)
    {
        sum += score[i];
    }
    Console.WriteLine("{0}这次考试的总成绩是{1}",name,sum)
}

static void Main(string[] args)
{
    test("张三",99,88,77);
    Console.ReadKey();
}

6.方法的重载 

概念:方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载  

  1.  多个方法在同一个类中
  2. 多个方法具有相同的方法名
  3. 多个方法的参数不相同,类型不同或者数量不同

注意: 与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载。

7.方法的递归 

概念:递归的本质就是自己调用自己。 

注意:递归要有开始条件,也要有一个结束条件。 

public static int i = 0;
public static void TellStory()
{
    Console.WriteLine("从前有座山");
    Console.WriteLine("山里有座庙");
    Console.WriteLine("庙里有个老和尚和小和尚");
    Console.WriteLine("有一天,小和尚哭了,老和尚给小和尚讲了一个故事");
    i++;
    if(i>=10)
    {
        return;
    }
    TellStory();
}

static void Main(string[] args)
{
    TellStory();
    Console.ReadKey();
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值