上一篇: C# 封装

下一篇: C# 可空类型

C# 方法

定义方法

在 C# 中,方法定义在类内部。一个方法包括以下几个部分:

  • 访问修饰符:决定了方法的访问级别。
  • 返回类型:声明了方法返回的数据类型,如果没有返回值,则使用关键字 void
  • 方法名:唯一标识方法的名称。
  • 参数列表:方法接收的输入数据,由参数类型和参数名组成。
  • 方法体:由大括号 {} 包围的一系列语句。

下面是一个简单的方法定义示例:

                public class Calculator
                {
                    public int Add(int a, int b)
                    {
                        int sum = a + b;
                        return sum;
                    }
                }
                

上述示例定义了一个名为 Add 的方法,它接受两个整数作为参数,并返回它们的和。

调用方法

要调用一个方法,需要创建一个该方法所在类的实例,然后使用点运算符 . 来访问方法。例如,我们可以像这样调用上面定义的 Add 方法:

                Calculator calc = new Calculator();
                int result = calc.Add(5, 3);
                Console.WriteLine("The sum is: " + result); // 输出: The sum is: 8
                

一个方法也可以在同一个类中的其他方法调用。例如,我们可以在 Calculator 类中添加一个 Multiply 方法,并在其中调用 Add 方法:

                public class Calculator
                {
                    public int Add(int a, int b)
                    {
                        int sum = a + b;
                        return sum;
                    }

                    public int Multiply(int a, int b)
                    {
                        int product = 0;
                        for (int i = 0; i < b; i++)
                        {
                            product = Add(product, a);
                        }
                        return product;
                    }
                }

                Calculator calc = new Calculator();
                int result = calc.Multiply(5, 3);
                Console.WriteLine("The product is: " + result); // 输出: The product is: 15
                

参数传递

C# 支持两种参数传递方式:值传递(默认)和引用传递。

值传递

值传递是将参数的副本传给方法,方法内对参数的修改不会影响到原始值。以下示例说明了值传递的特点:

                public class Example
                {
                    public void ModifyValue(int value)
                    {
                        value *= 2;
                        Console.WriteLine("Inside the method: " + value);
                    }
                }

                Example example = new Example();
                int originalValue = 10;
                example.ModifyValue(originalValue);
                Console.WriteLine("Outside the method: " + originalValue);
                

输出结果:

                Inside the method: 20
                Outside the method: 10
                

可以看到,尽管在 ModifyValue 方法内修改了参数的值,但原始值并未受到影响。

引用传递

引用传递是将参数的内存地址传给方法,方法内对参数的修改会影响到原始值。要使用引用传递,需要在参数类型前添加 ref 关键字。

以下示例说明了引用传递的特点:

                public class Example
                {
                    public void ModifyValue(ref int value)
                    {
                        value *= 2;
                        Console.WriteLine("Inside the method: " + value);
                    }
                }

                Example example = new Example();
                int originalValue = 10;
                example.ModifyValue(ref originalValue);
                Console.WriteLine("Outside the method: " + originalValue);
                

输出结果:

                Inside the method: 20
                Outside the method: 20
                

此时,ModifyValue 方法内对参数的修改同样影响到了原始值。

现在您已经了解了 C# 中的方法基础知识。使用方法可以简化代码,提高可读性和重用性。