Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

พารามิเตอร์ประเภทต่าง ๆ ของเมธอดใน C # คืออะไร


วิธีการในภาษา C# โดยทั่วไปจะเป็นบล็อกของรหัสหรือข้อความสั่งในโปรแกรมที่ช่วยให้ผู้ใช้สามารถนำรหัสเดิมกลับมาใช้ใหม่ได้ ซึ่งท้ายที่สุดแล้วจะช่วยประหยัดการใช้หน่วยความจำที่มากเกินไป ซึ่งช่วยประหยัดเวลา และที่สำคัญกว่านั้นคือช่วยให้อ่านโค้ดได้ง่ายขึ้น

อาจมีบางสถานการณ์ที่ผู้ใช้ต้องการเรียกใช้เมธอด แต่บางครั้งเมธอดนั้นต้องการอินพุตที่มีคุณค่าเพื่อดำเนินการและทำงานให้เสร็จสิ้น ค่าอินพุตเหล่านี้เรียกว่า พารามิเตอร์ .

พารามิเตอร์สามารถส่งผ่านไปยังเมธอดได้ด้วยวิธีต่อไปนี้ -

  • ค่าพารามิเตอร์

  • พารามิเตอร์อ้างอิง

  • พารามิเตอร์เอาต์พุต

ค่าพารามิเตอร์

พารามิเตอร์ค่าจะคัดลอกค่าจริงของอาร์กิวเมนต์ลงในพารามิเตอร์ที่เป็นทางการของฟังก์ชัน เมื่อตัวแปรอย่างง่ายถูกส่งผ่านเป็นพารามิเตอร์ไปยังเมธอดใดๆ ตัวแปรนั้นจะถูกส่งต่อเป็นค่า ซึ่งหมายความว่าค่าที่มีอยู่โดยตัวแปรที่ส่งผ่านเมื่อพารามิเตอร์ถูกคัดลอกไปยังตัวแปรของวิธีการ และหากภายในวิธีการ ค่าเหล่านี้มีการเปลี่ยนแปลงหรือแก้ไข การเปลี่ยนแปลงจะไม่สะท้อนให้เห็นในตัวแปรที่ส่งผ่านจริง ชนิดข้อมูลดั้งเดิมส่วนใหญ่ เช่น จำนวนเต็ม คู่ บูลีน ฯลฯ จะถูกส่งผ่านโดยค่า

ตัวอย่าง

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}");
      }
   }
}

ผลลัพธ์

ผลลัพธ์ของโค้ดด้านบนเป็นดังนี้ &mius;

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