方法

方法就是做一件事

修饰符 返回值类型 方法名(参数列表)
{
    方法的具体实现
}

修饰符可以理解为方法的特性

做一件事会有结果  所以有返回值  代码的结果都存在电脑里 所有要标定类型

做什么事要说清楚  所有通过方法名来描述和使用  遵循标识符的命名规则(每个单词的首字母大写)

做一件事需要条件  需要的内容填在参数列表里面  

具体做什么在{}内进行编写

//    定义一个整数的加法  加法有结果  为整数类型
//    加法需要加数和被加数    在参数列表内填写    需要有对应的类型    通过,隔开
public int Add(int a, int b)    
{
    return a + b;    //    结果通过关键字return返回到调用的位置
}
//    通过方法名进行调用    需要传入参数列表内对应类型的参数    返回结果出现在调用的位置
Console.WriteLine(Add(5,6));    

 参数

在完成一件事的过程中  有些需要的参数会被更改  有些不会被更改  前者为值参数  后者为引用参数

值参数

值参数通过的是值传递  等同于将传入的值复制一份给方法使用  在方法内发生变化不会影响到原数据

public void A(int a)    //    定义一个值参数的A方法
{
    a += 3;    //    对参数a加3
    Console.WriteLine(a);;    //    输出a
}
int n = 5;    //    定义一个变量n  值为5
A(n);    //    将n作为参数传入A方法
Console.WriteLine(n);    //    输出n的值

 引用参数

传递方式为引用传递  即将当前数据的访问方式传给方法  数据在方法内发生变化后  原数据也会更改

public void A(ref int a)    //    定义一个引用传递的方法A    需要使用ref关键字
{    
    a += 3;    //    对参数a加三
    Console.WriteLine(a);    //    输出a的值
}
int n = 5;    //    定义变量n  值为5
A(ref n);    //    调用方法A  对于引用参数    使用时也需要ref标记
Console.WriteLine(n);    //    输出n的值

 输出参数

在做事情的过程中  产生的新的数据可能在其他地方需要使用  但不是我们这件事情的最终结果(返回值)

我们通过输出参数的形式传递出来  从存储上与引用参数一样  只有一个数据

public int Add (out int a, out int b)    //    定义两个输出参数的Add方法
{
    Console.WriteLine("请输入加数:");
    a = Convert.ToInt16(Console.ReadLine());    //    对输出参数a赋值
    Console.WriteLine("请输入被加数:");
    b = Convert.ToInt16(Console.ReadLine());    //    对输出参数b赋值
    return a + b;
}
int n,m,sum;    //    定义变量
sum = Add(out n, out m);    //    调用Add方法    输出参数需用out标记
Console.WriteLine(n + " + " + m + " = " + sum);    //    输出对应变量

参数数组

事情需要有多个同一类型但个数不确定的数据完成时   通过参数数组的定义可随意输入若干个这个类型的参数

public int Add(params int[] x)    //    定义参数数组的方法Add
{
    int sum = 0;    //    定义变量sum
    for(int i = 0; i < x.Length; i++)    //    循环参数数组
    {
        sum += x[i];    //    累加参数数组
    }
    return sum;    //    返回sum变量
}
Console.WriteLine(Add(1,2,3,4));    //    输入1-4作为参数  调用Add方法
Console.WriteLine(Add(1,2,3,4,5,6,7,8,9));    //    输入1-9作为参数  调用Add方法

可以将参数数组理解为   一个参数是由数组构成的   但这个数组的长度可随意变化

方法的重载

同样的处理方式和步骤  但处理的对象不一样  对于这种功能相同  但对象不同的方法使用方法的重载

public int Add(params int[] x)    //    定义参数数组的方法Add
{
    int sum = 0;    //    定义变量sum
    for(int i = 0; i < x.Length; i++)    //    循环参数数组
    {
        sum += x[i];    //    累加参数数组
    }
    return sum;    //    返回sum变量
}
public double Add(params double[] x)    //    定义参数数组的方法Add
{
    double sum = 0;    //    定义变量sum
    for(int i = 0; i < x.Length; i++)    //    循环参数数组
    {
        sum += x[i];    //    累加参数数组
    }
    return sum;    //    返回sum变量
}
Console.WriteLine(Add(1, 2, 3, 4));
Console.WriteLine(Add(1.1, 1.2, 1.3, 1.4));

 

对于方法的重载的判断是  方法的参数列表不同  这个不同指的是个数和类型的改变

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值