C# - 有返回值有参数方法,方法原型 046

此格式的方法非常像有返回值方法与有参数方法的结合体(以静态方法为例)

有参数有返回值的方法的格式

//[public] static 返回值类型 方法名(参数列表)  形参
//参数列表 等同与 下面的  参数1,参数2,...
[public] static 返回值类型 方法名(参数1,参数2,...)
{
    方法体
   return 返回值的类型
}
//方法调用
[类名].方法名(参数1,参数2,...) 实参
方法名(参数1,参数2,...)
//==========对比有返回值无参数=============
[public] static 返回值类型 方法名()
{
    方法体
   return 返回值的类型
}

与昨天对比最大变化就是可以向方法中传递参数,因此适用范围更广

参数列表,形参,实参的叫法了解即可,本质是通过参数向方法内部传递数据

注意事项:

1之前说过的其他注意事项在此适用,不再赘述

2)传入数据的形参类型与返回值的类型可以一样也可以不一样

示例1:编程实现输入的字符串转换为数字的方法,如果转换失败就一直输入

转换数字方法

//只是将昨天的方法修改一下
//传入参数类型与返回值的类型不同
static int OutputNum(string strNum)
{
    int num = 0;
    while (true)
    {
        try
        {
            num = Convert.ToInt32(strNum);
            Console.WriteLine("转换成功");
            break;
          //如果转换成功执行行号19 
          //将转换成功的数字返回出去
          //退出方法
        }
        catch
        {
            Console.WriteLine("输入不是数字,请重新输入");
            strNum = Console.ReadLine();
          //如果转换失败执行行号17
          //执行行号18等待用户输入新的"数字"
          //再转到行号8进行转换,转换成功,退出方法
          //转换失败重走一遍行号17-21的过程
        }
    }
    return num;
}
//调用方法
static void Main(string[] args)
{
    Console.WriteLine("请输入数字");
    string strNum = Console.ReadLine();
    int num = OutputNum(strNum);
    Console.WriteLine("");//换行
    Console.WriteLine("输入的数字为 {0}", num);
    Console.ReadKey();
}

示例2:编程实现两个操作数进行加减乘除的简易方法,返回值即运算的结果

编程思路(仅供参考)

1)传入三个参数即两个操作数和一个算术运算符(+,-*,/)

2)传入一个复合类型的参数(数组或者结构,规定第一个为操作符,后两个为操作数)

计算两个操作数结果的方法

//传入数组参数返回操作结果
static double Calculate(object[] opeNum)
 {
     double result = 0.0;
     string ope = (string)opeNum[0];
     //string strNum1 = (string)opeNum[1];
     //string strNum2 = (string)opeNum[2];
     //int num1 = OutputNum(strNum1);
     //int num2 = OutputNum(strNum2);
     //上面注释的4行等同于下面的num3与num4
     //因为转换方法只能传入字符串类型
     //此方法返回值类型为int
     //需要将示例1中行号11的注释掉
     int num3 = OutputNum((string)opeNum[1]);
     int num4 = OutputNum((string)opeNum[2]);
     switch (ope)
     {
         case "+":
             //程序会自动进行隐式类型转换
             result = num3 + num4;
             break;
         case "-":
             result = num3 - num4;
             break;
         case "*":
             result = num3 * num4;
             break;
         case "/":
             //没有做除数不能为0的检测
             //因此此处可能报异常
             result = num3 / num4;
             break;
         default:
             //如果输入的操作符不在
             //+-*/中,返回为0
             result = 0;
             break;
     }
     //不管上面传入的操作符是否正确
    //最后是否正常计算都有返回值
     return result;
 }
//调用方法
static void Main(string[] args)
{
  //最好使用字符串数组
  //元素的数据可以使用输入语句
  object[] arr = { "*", "8", "6" };
  double res = Calculate(arr);
  Console.WriteLine("{0} {1} {2} = {3}", arr[1], arr[0], arr[2], res);
  Console.ReadKey(); 
}

方法中有一些非常不合理的代码,其目的只想尽可能多的拓展编程实现方式

如数组使用字符串类型最好,与转换数字方法最契合使用更简便

方法原型

含义:简单来说就是方法格式的第一行代码

//这是一个公共的没有返回值的方法
public static void T1()
//这是一个私有的没有返回值的方法
static void T1()
//这是一个私有的返回值类型为int的方法
static int T1()
//这是一个私有的返回值类型为int
//参数为int 类型的方法
static int T1(int num)

只需通过查看方法原型,即可知道该方法的访问级别,是否有返回值,返回值类型是什么,是否有参数及参数的类型等信息

定义方法时可以首先将方法原型编写出来,有了原型再在方法中编写实现方法功能

将鼠标放在要调用的方法上按F12或右击选择"转到定义"即可查看该方法原型

Console.WriteLine("");方法的原型

展开阅读全文

页面更新:2024-04-23

标签:行号   原型   参数   法名   方法   数组   字符串   类型   操作   数字

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top