Computer >> Máy Tính >  >> Lập trình >> C#

Các phương pháp truyền tham số khác nhau trong C # là gì?

Khi một phương thức có tham số được gọi, bạn cần chuyển các tham số cho phương thức đó bằng cách sử dụng bất kỳ phương thức nào trong ba phương thức sau -

Tham số Tham chiếu

Phương thức này sao chép tham chiếu đến vị trí bộ nhớ của một đối số vào tham số chính thức. Điều này có nghĩa là các thay đổi được thực hiện đối với tham số sẽ ảnh hưởng đến đối số.

Tham số giá trị

Phương thức này sao chép giá trị thực của một đối số vào tham số chính thức của hàm. Trong trường hợp này, các thay đổi được thực hiện đối với tham số bên trong hàm không ảnh hưởng đến đối số.

Trong Tham số giá trị, khi một phương thức được gọi, một vị trí lưu trữ mới sẽ được tạo cho mỗi tham số giá trị. Các giá trị của các tham số thực tế được sao chép vào chúng. Do đó, những thay đổi được thực hiện đối với tham số bên trong phương thức không ảnh hưởng đến đối số.

Hãy để chúng tôi xem một ví dụ về Tham số giá trị trong C # -

Ví dụ

using System;

namespace CalculatorApplication {
   class NumberManipulator {
      public void swap(int x, int y) {
         int temp;

         temp = x; /* save the value of x */
         x = y; /* put y into x */
         y = temp; /* put temp into y */
      }

      static void Main(string[] args) {
         NumberManipulator n = new NumberManipulator();

         /* local variable definition */
         int a = 7;
         int b = 10;

         Console.WriteLine("Before swap, value of a : {0}", a);
         Console.WriteLine("Before swap, value of b : {0}", b);

         /* calling a function to swap the values */
         n.swap(a, b);

         Console.WriteLine("After swap, value of a : {0}", a);
         Console.WriteLine("After swap, value of b : {0}", b);

         Console.ReadLine();
      }
   }
}

Đầu ra

Before swap, value of a : 7
Before swap, value of b : 10
After swap, value of a : 7
After swap, value of b : 10