C# มีเทคนิคสองวิธีในการปรับใช้รูปแบบคงที่ -
- ฟังก์ชั่นโอเวอร์โหลด
- โอเปอเรเตอร์โอเวอร์โหลด
ฟังก์ชันโอเวอร์โหลด
สองวิธีหรือมากกว่าสองวิธีที่มีชื่อเหมือนกันแต่พารามิเตอร์ต่างกันคือสิ่งที่เราเรียกว่าฟังก์ชันโอเวอร์โหลดใน C#
ฟังก์ชันโอเวอร์โหลดใน C# สามารถทำได้โดยเปลี่ยนจำนวนอาร์กิวเมนต์และประเภทข้อมูลของอาร์กิวเมนต์
สมมติว่าคุณมีฟังก์ชันที่พิมพ์การคูณตัวเลข ดังนั้นวิธีที่โอเวอร์โหลดของเราจะมีชื่อเดียวกันแต่จำนวนอาร์กิวเมนต์ต่างกัน -
public static int mulDisplay(int one, int two) { } public static int mulDisplay(int one, int two, int three) { } public static int mulDisplay(int one, int two, int three, int four) { }
ต่อไปนี้คือตัวอย่างที่แสดงวิธีการใช้ฟังก์ชันโอเวอร์โหลด −
ตัวอย่าง
using System; public class Demo { public static int mulDisplay(int one, int two) { return one * two; } public static int mulDisplay(int one, int two, int three) { return one * two * three; } public static int mulDisplay(int one, int two, int three, int four) { return one * two * three * four; } } public class Program { public static void Main() { Console.WriteLine("Multiplication of two numbers: "+Demo.mulDisplay(10, 15)); Console.WriteLine("Multiplication of three numbers: "+Demo.mulDisplay(8, 13, 20)); Console.WriteLine("Multiplication of four numbers: "+Demo.mulDisplay(3, 7, 10, 7)); } }
ผลลัพธ์
Multiplication of two numbers: 150 Multiplication of three numbers: 2080 Multiplication of four numbers: 1470
โอเปอเรเตอร์โอเวอร์โหลด
โอเปอเรเตอร์โอเวอร์โหลดคือฟังก์ชันที่มีชื่อพิเศษว่าโอเปอเรเตอร์คีย์เวิร์ดตามด้วยสัญลักษณ์สำหรับโอเปอเรเตอร์ที่กำลังกำหนด
ต่อไปนี้แสดงว่าตัวดำเนินการใดที่สามารถโอเวอร์โหลดได้ และตัวดำเนินการใดที่คุณไม่สามารถโอเวอร์โหลดได้ -
Sr.No | ตัวดำเนินการ &คำอธิบาย |
---|---|
1 | +, -, !, ~, ++, -- โอเปอเรเตอร์ unary เหล่านี้ใช้ตัวถูกดำเนินการหนึ่งตัวและสามารถโอเวอร์โหลดได้ |
2 | +, -, *, /, % ตัวดำเนินการไบนารีเหล่านี้ใช้ตัวถูกดำเนินการหนึ่งตัวและสามารถโอเวอร์โหลดได้ |
3 | ==, !=, <,>, <=,>= ตัวดำเนินการเปรียบเทียบสามารถโอเวอร์โหลดได้ |
4 | &&, || ตัวดำเนินการตรรกะแบบมีเงื่อนไขไม่สามารถโอเวอร์โหลดได้โดยตรง |
5 | +=, -=, *=, /=, %= ตัวดำเนินการมอบหมายไม่สามารถโอเวอร์โหลดได้ |
6 | =, ., ?:, -<, ใหม่, คือ, ขนาด, ประเภทของ โอเปอเรเตอร์เหล่านี้ไม่สามารถโอเวอร์โหลดได้ |