C#中的方法有哪些不同类型的参数?
C#中的方法通常是程序中的代码块或语句块,它使用户能够重用相同的代码,从而最终节省了过多的内存使用,节省了时间,更重要的是,它提供了更好的代码可读性。
在某些情况下,用户希望执行一种方法,但有时该方法需要一些有值的输入才能执行和完成其任务。这些输入值称为Parameters。
可以通过以下方式将参数传递给方法:
值参数
引用参数
输出参数
值参数
值参数将参数的实际值复制到函数的形式参数中。当将简单变量作为参数传递给任何方法时,它将作为值传递。这意味着将作为参数传递的变量所包含的值复制到方法的变量,并且如果在方法内部更改或修改了这些值,则更改不会反映在实际传递的变量中。大多数原始数据类型(例如整数,双精度型,布尔型等)均按值传递。
示例
using System;namespace MyApplication{
public class Program{
public static void Main(){
int x = 5, y = 5;
Console.WriteLine($"Value before calling the method. x = {x}, y = {y}");
ValueParamter(x, y);
Console.WriteLine($"Value after calling the method. x = {x}, y = {y}");
}
public static void ValueParamter(int x, int y){
x = 10;
y = 10;
int z = x + y;
Console.WriteLine($"Sum of x and y = {z}");
}
}
}
输出结果
上面代码的输出如下:
Value before calling the method. x = 5, y = 5Sum of x and y = 20
Value after calling the method. x = 5, y = 5
引用参数
引用参数将对参数的内存位置的参考复制到形式参数中。通常,所有对象都通过引用作为参数传递给方法。该方法对传递给参数的变量的引用进行操作,而不是对变量的值进行操作。当在被调用函数中对变量进行修改时,这将导致对调用函数中的变量进行修改。这意味着对参数所做的更改会影响参数。
示例
using System;namespace MyApplication{
public class Program{
public static void Main(){
int x = 5, y = 5;
Console.WriteLine($"Value before calling the method. x = {x}, y = {y}");
RefParamter(ref x, ref y);
Console.WriteLine($"Value after calling the method. x = {x}, y = {y}");
}
public static void RefParamter(ref int x, ref int y){
x = 10;
y = 10;
int z = x + y;
Console.WriteLine($"Sum of x and y = {z}");
}
}
}
输出结果
上面代码的输出如下-
Value before calling the method. x = 5, y = 5Sum of x and y = 20
Value after calling the method. 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
以上是 C#中的方法有哪些不同类型的参数? 的全部内容, 来源链接: utcz.com/z/345547.html