1. 方法的定义与调用
方法是执行特定任务的代码块,可以被调用多次,从而减少代码重复,提高代码的可读性和维护性。
-
方法的定义
csharp// 无返回值的方法 void Greet() { Console.WriteLine("Hello, World!"); } // 有返回值的方法 int Add(int a, int b) { return a + b; }
-
方法的调用
csharpGreet(); // 调用无返回值的方法 int sum = Add(5, 3); // 调用有返回值的方法,并将返回值赋给变量sum Console.WriteLine(sum); // 输出:8
2. 参数与返回值
方法可以接受参数并返回结果。
-
带参数的方法
csharpvoid PrintMessage(string message) { Console.WriteLine(message); } // 调用带参数的方法 PrintMessage("Hello, C#!");
-
有返回值的方法
csharpdouble Multiply(double x, double y) { return x * y; } // 调用有返回值的方法 double result = Multiply(2.5, 4.0); Console.WriteLine(result); // 输出:10.0
-
可选参数和参数默认值
csharpvoid DisplayInfo(string name, int age = 30) { Console.WriteLine($"Name: {name}, Age: {age}"); } // 调用带可选参数的方法 DisplayInfo("Alice"); // 输出:Name: Alice, Age: 30 DisplayInfo("Bob", 25); // 输出:Name: Bob, Age: 25
3. 方法重载
方法重载是指在同一个类中可以定义多个具有相同名称但参数列表不同的方法。
-
方法重载的示例
csharpvoid Display(int a) { Console.WriteLine($"Integer: {a}"); } void Display(double a) { Console.WriteLine($"Double: {a}"); } void Display(string a) { Console.WriteLine($"String: {a}"); } // 调用重载的方法 Display(5); // 输出:Integer: 5 Display(3.14); // 输出:Double: 3.14 Display("Hello"); // 输出:String: Hello
4. 递归
递归是方法调用自身的编程技巧,用于解决分解为类似子问题的问题。
- 递归方法的示例
-
计算阶乘
csharpint Factorial(int n) { if (n <= 1) { return 1; // 基本情况:n为1或更小 } else { return n * Factorial(n - 1); // 递归情况:n * (n-1)! } } // 调用递归方法 int result = Factorial(5); Console.WriteLine(result); // 输出:120
-
斐波那契数列
csharpint Fibonacci(int n) { if (n <= 1) { return n; // 基本情况:n为0或1 } else { return Fibonacci(n - 1) + Fibonacci(n - 2); // 递归情况:前两个数之和 } } // 调用递归方法 int fib = Fibonacci(6); Console.WriteLine(fib); // 输出:8
-