Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah terbeban dan kekaburan dalam C#

Kaedah terbeban dan kekaburan dalam C#

WBOY
WBOYke hadapan
2023-09-06 08:45:10745semak imbas

C# 中的重载方法和歧义

Dengan kaedah lebih muatan, anda boleh mempunyai berbilang takrifan nama fungsi yang sama dalam skop yang sama. Takrifan fungsi mesti berbeza dalam jenis dan/atau bilangan parameter dalam senarai parameter.

Mari kita lihat contoh. Di sini, panggilan pergi ke kaedah dengan parameter tunggal -

Contoh

using System;

class Student {
   static void DisplayMarks(int marks1 = 90) {
      Console.WriteLine("Method with one parameter!");
   }

   static void DisplayMarks(int marks1, int marks2 = 95) {
      Console.WriteLine("Method with two parameters!");
   }

   static void Main() {
      DisplayMarks(97);
   }
}

Sekarang mari kita lihat perkara yang membuat panggilan samar-samar. Kekeliruan di sini ialah kaedah kedua memerlukan dua parameter lalai, manakala kaedah pertama memerlukan satu parameter untuk menjadi lalai. Ini mewujudkan kekaburan.

Contoh

using System;

class Student {
   static void DisplayMarks(int marks1 = 90, int marks2 = 80) {
      Console.WriteLine("Method with two parameters!");
   }

   static void DisplayMarks(int marks1, int marks2 = 80, marks3 = 98) {
      Console.WriteLine("Method with three parameters!");
   }

   static void Main() {
      DisplayMarks(80);
   }
}

Atas ialah kandungan terperinci Kaedah terbeban dan kekaburan dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam