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 = 5

Sum 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 = 5

Sum 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

回到顶部