C# 方法

方法是一段执行特定任务的代码块。假设您需要创建一个程序来绘制一个圆并为其着色。您可以创建两个方法来解决这个问题

  • 一个绘制圆的方法
  • 一个为圆着色的方法

将一个复杂问题分解成更小的部分,可以使您的程序易于理解和重用。


在 C# 中声明方法

以下是在 C# 中声明方法的语法。

returnType methodName() {
  // method body
}

这里,

  • returnType - 它指定方法返回值的类型。例如,如果一个方法具有 int 返回类型,那么它返回一个 int 值。

如果方法不返回值,则其返回类型为 void

  • methodName - 它是用于在程序中引用特定方法的标识符。
  • method body - 它包含用于执行某些任务的编程语句。方法体包含在大括号 { }

让我们看一个例子,

void display() {
// code
}

这里,方法的名称是 display()。并且,返回类型是 void


在 C# 中调用方法

在上面的示例中,我们声明了一个名为 display() 的方法。现在,要使用该方法,我们需要调用它。

以下是我们调用 display() 方法的方式。

// calls the method
display();
Working of C# method call
C# 方法调用的工作原理

示例:C# 方法

using System;

namespace Method {

  class Program {  
 
    // method declaration
    public void display() {
      Console.WriteLine("Hello World");   
    }

    static void Main(string[] args) {

      // create class object 
      Program p1 = new Program();

      //call method 
      p1.display();   
  
      Console.ReadLine();
     
    }
  }
}

输出

Hello World

在上面的示例中,我们创建了一个名为 display() 的方法。我们创建了 Program 类的一个对象 p1

注意这行:

p1.display();

在这里,我们使用该对象来调用 display() 方法。


C# 方法返回类型

C# 方法可以返回一个值,也可以不返回。如果方法不返回任何值,我们使用 void 关键字(如上例所示)。

如果方法返回任何值,我们使用 return 语句返回值。例如,

int addNumbers() {
  ...
  return sum;
}

在这里,我们正在返回变量 sum。您应该始终记住的一点是,方法的返回类型和返回的值必须是相同的类型。

在我们的代码中,返回类型是 int。因此,sum 的数据类型也应该是 int

示例:方法返回类型

using System;

namespace Method {

  class Program {   

    // method declaration
    static int addNumbers() {
      int sum = 5 + 14;
      return sum;
      
    }

    static void Main(string[] args) {

      // call method 
      int sum = addNumbers();

      Console.WriteLine(sum);
  
      Console.ReadLine();
     
    }
  }
}

输出

19

在上面的示例中,我们有一个名为 addNumbers() 的方法,其返回类型为 int

int sum = addNumbers();

在这里,我们将 addNumbers() 返回的值存储在 sum 中。我们使用 int 数据类型来存储该值,因为该方法返回一个 int 值。

注意:由于该方法是静态的,我们在调用方法之前不需要创建类对象。静态方法属于类而不是类的对象。


C# 方法参数

在 C# 中,我们还可以创建接受一些值的方法。这些值称为方法参数。例如,

int addNumber(int a, int b) {
//code
}

这里,ab 是传递给 addNumber() 函数的两个参数。

如果一个方法是用参数创建的,那么在调用该方法时,我们需要传递相应的参数(arguments)。例如,

// call the method
addNumber(100, 100);
Representation of the C# method returning a value
C# 方法返回值的表示

这里,我们传递了 2 个参数 (100, 100)

示例 1:带参数的 C# 方法

using System;

namespace Method {

  class Program {   
    int addNumber (int a, int b) {
      
      int sum = a + b;

      return sum;
      
    }

    static void Main(string[] args) {

      // create class object 
      Program p1 = new Program();

      //call method 
      int sum = p1.addNumber(100,100);   

      Console.WriteLine("Sum: " + sum);
  
      Console.ReadLine();
     
    }
  }
}

输出

Sum: 200

带单个参数的 C# 方法

在 C# 中,我们也可以创建一个带单个参数的方法。例如,

using System;

namespace Method {

  class Program {   

    string work(string work) {
     return work;
      
    }

    static void Main(string[] args) {

      // create class object 
      Program p1 = new Program();

      //call method 
      string work = p1.work("Cleaning"); ;   

      Console.WriteLine("Work: " + work);
  
      Console.ReadLine();
     
    }
  }
}

输出

Work: Cleaning

这里,work() 方法有一个参数 work


内置方法

到目前为止,我们已经定义了自己的方法。这些称为用户定义方法

然而,在 C# 中,有许多方法可以直接在我们的程序中使用。它们被称为内置方法。例如,

  • Sqrt() - 计算数字的平方根
  • ToUpper() - 将字符串转换为大写

示例:Math.Sqrt() 方法

using System;

namespace Method {

  class Program {   
    static void Main(string[] args) {
     
      // Built in method
      double a = Math.Sqrt(9);
      Console.WriteLine("Square root of 9: " + a);
    }
  }
}

输出

Square root of 9: 3

在上面的程序中,我们使用了

double a = Math.Sqrt(9);

来计算 9 的平方根。这里,Sqrt() 是一个内置方法,它定义在 Math 类中。

我们可以直接在程序中使用内置方法,而无需编写方法定义。要了解更多信息,请访问C# 内置方法


C# 方法重载

在 C# 中,我们可以创建两个或多个同名的方法。这称为方法重载。例如,

using System;

namespace MethodOverload {

  class Program {  

    // method with one parameter
    void display(int a) {
      Console.WriteLine("Arguments: " + a);
    }
 
    // method with two parameters
    void display(int a, int b) {
      Console.WriteLine("Arguments: " + a + " and " + b);
    } 
    static void Main(string[] args) {

      Program p1 = new Program();
      p1.display(100);
      p1.display(100, 200);
      Console.ReadLine();
    }
  }
}

输出

Arguments: 100
Arguments: 100 and 200

在上面的示例中,我们重载了 display() 方法。这是可能的,因为

  • 一个方法有一个参数
  • 另一个带两个参数。

要了解更多信息,请访问 C# 方法重载

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战