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 | =, ., ?:, -<, ใหม่, คือ, ขนาด, ประเภทของ โอเปอเรเตอร์เหล่านี้ไม่สามารถโอเวอร์โหลดได้ |