- C# 基础教程
- C# - 主页
- C# - 概述
- C# - 环境
- C# - 程序结构
- C# - 基本语法
- C# - 数据类型
- C# - 类型转换
- C# - 变量
- C# - 常量
- C# - 运算符
- C# - 决策
- C# - 循环
- C# - 封装
- C# - 方法
- C# - 可空值
- C# - 数组
- C# - 字符串
- C# - 结构
- C# - 枚举
- C# - 类
- C# - 继承
- C# - 多态性
- C# - 运算符重载
- C# - 接口
- C# - 命名空间
- C# - 预处理器指令
- C# - 正则表达式
- C# - 异常处理
- C# - 文件 I/O
- C# 高级教程
- C# - 属性
- C# - 反射
- C# - 属性
- C# - 索引器
- C# - 委托
- C# - 事件
- C# - 集合
- C# - 泛型
- C# - 匿名方法
- C# - 不安全代码
- C# - 多线程
- C# 有用资源
- C# - 问题与解答
- C# - 快速指南
- C# - 有用的资源
- C# - 讨论
C# - 方法
方法是一组一起执行任务的语句。每个 C# 程序都至少有一个带有名为 Main 的方法的类。
要使用方法,您需要 -
- 定义方法
- 调用方法
在 C# 中定义方法
定义方法时,您基本上声明了其结构的元素。在 C# 中定义方法的语法如下 -
<Access Specifier> <Return Type> <Method Name>(Parameter List) { Method Body }
以下是方法的各个要素 -
访问说明符- 这确定另一个类中的变量或方法的可见性。
返回类型- 方法可以返回一个值。返回类型是方法返回值的数据类型。如果该方法不返回任何值,则返回类型为void。
方法名称- 方法名称是唯一标识符,区分大小写。它不能与类中声明的任何其他标识符相同。
参数列表- 括在括号之间,参数用于从方法传递和接收数据。参数列表是指方法的参数的类型、顺序和数量。参数可选;也就是说,方法可以不包含参数。
方法体- 包含完成所需活动所需的指令集。
例子
以下代码片段显示了一个函数FindMax,它接受两个整数值并返回两个整数中的较大者。它具有公共访问说明符,因此可以使用类的实例从类外部访问它。
class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; } ... }
在 C# 中调用方法
您可以使用方法名称来调用方法。下面的例子说明了这一点 -
using System; namespace CalculatorApplication { class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; } static void Main(string[] args) { /* local variable definition */ int a = 100; int b = 200; int ret; NumberManipulator n = new NumberManipulator(); //calling the FindMax method ret = n.FindMax(a, b); Console.WriteLine("Max value is : {0}", ret ); Console.ReadLine(); } } }
当上面的代码被编译并执行时,它会产生以下结果 -
Max value is : 200
您还可以使用类的实例从其他类调用公共方法。例如,方法FindMax属于NumberManipulator类,您可以从另一个类Test调用它。
using System; namespace CalculatorApplication { class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if(num1 > num2) result = num1; else result = num2; return result; } } class Test { static void Main(string[] args) { /* local variable definition */ int a = 100; int b = 200; int ret; NumberManipulator n = new NumberManipulator(); //calling the FindMax method ret = n.FindMax(a, b); Console.WriteLine("Max value is : {0}", ret ); Console.ReadLine(); } } }
当上面的代码被编译并执行时,它会产生以下结果 -
Max value is : 200
递归方法调用
方法可以调用自身。这称为递归。以下是使用递归函数计算给定数字的阶乘的示例 -
using System; namespace CalculatorApplication { class NumberManipulator { public int factorial(int num) { /* local variable declaration */ int result; if (num == 1) { return 1; } else { result = factorial(num - 1) * num; return result; } } static void Main(string[] args) { NumberManipulator n = new NumberManipulator(); //calling the factorial method {0}", n.factorial(6)); Console.WriteLine("Factorial of 7 is : {0}", n.factorial(7)); Console.WriteLine("Factorial of 8 is : {0}", n.factorial(8)); Console.ReadLine(); } } }
当上面的代码被编译并执行时,它会产生以下结果 -
Factorial of 6 is: 720 Factorial of 7 is: 5040 Factorial of 8 is: 40320
将参数传递给方法
当调用带参数的方法时,需要将参数传递给方法。参数可以通过三种方式传递给方法 -