C# 中方法有哪些不同类型的参数?
csharpserver side programmingprogramming更新于 2025/9/9 10:22:17
C# 中的方法通常是程序中的代码块或语句,它允许用户重用相同的代码,从而避免过度占用内存,节省时间,更重要的是,它提高了代码的可读性。
在某些情况下,用户可能想要执行某个方法,但有时该方法需要一些有价值的输入才能执行并完成其任务。这些输入值称为参数。
参数可以通过以下方式传递给方法 −
值参数
引用参数
输出参数
值参数
值参数将参数的实际值复制到函数的形式参数中。当简单变量作为参数传递给任何方法时,它都是以值的形式传递的。这意味着作为参数传递的变量所包含的值会被复制到方法的变量中。如果在方法内部更改或修改了这些值,则更改不会反映在实际传递的变量中。大多数原始数据类型(例如整数、双精度型、布尔型等)都是以值传递的。
示例
using System;
namespace MyApplication{
public class Program{
public static void Main(){
int x = 5, y = 5;
Console.WriteLine($"调用方法前的值。x = {x}, y = {y}");
ValueParamter(x, y);
Console.WriteLine($"调用方法后的值。x = {x}, y = {y}");
}
public static void ValueParamter(int x, int y){
x = 10;
y = 10;
int z = x + y;
Console.WriteLine($"x and y 之和 = {z}");
}
}
}
输出
上述代码的输出如下 &mius;
调用方法前的值。x = 5, y = 5 x 与 y 之和 = 20 调用方法后的值。 x = 5, y = 5
引用参数
引用参数将对参数内存位置的引用复制到形式参数中。通常,所有对象都通过引用作为参数传递给方法。该方法对传入参数的变量的引用进行操作,而不是对其值进行操作。这会导致在被调用函数中修改变量时,调用函数中的变量也会被修改。这意味着对参数的更改会影响实际参数。
示例
using System;
namespace MyApplication{
public class Program{
public static void Main(){
int x = 5, y = 5;
Console.WriteLine($"调用方法前的值。x = {x}, y = {y}");
RefParamter(ref x, ref y);
Console.WriteLine($"调用方法后的值。x = {x}, y = {y}");
}
public static void RefParamter(ref int x, ref int y){
x = 10;
y = 10;
int z = x + y;
Console.WriteLine($"x and y 之和 = {z}");
}
}
}
输出
上述代码的输出如下 −
调用方法前的值。x = 5, y = 5 x 与 y 之和 = 20 调用方法后的值。 x = 10, y = 10
输出参数
输出参数有助于返回多个值。return 语句只能用于从函数返回一个值。但是,使用输出参数可以从函数返回两个值。输出参数提供的变量无需赋值。当您需要通过参数从方法返回值,而无需为参数赋初始值时,输出参数特别有用。输出参数类似于引用参数,不同之处在于它们将数据传输出方法而不是传入方法。
示例
using System;
namespace MyApplication{
public class Program{
public static void Main(){
int result;
OutParamter(out result);
Console.WriteLine($"Result: {result}");
}
public static void OutParamter(out int result){
int x = 10, y = 10;
result = x + y;
}
}
}
输出
The output of the above code is as follows: Result: 20

