ホームページ > バックエンド開発 > C#.Net チュートリアル > C# のオーバーロードされたメソッドとあいまいさ

C# のオーバーロードされたメソッドとあいまいさ

WBOY
リリース: 2023-09-06 08:45:10
転載
794 人が閲覧しました

C# 中的重载方法和歧义

メソッドのオーバーロードを使用すると、同じスコープ内に同じ関数名の複数の定義を持つことができます。関数定義は、パラメータ リスト内のパラメータのタイプや数が異なっていなければなりません。

例を見てみましょう。ここでは、呼び出しは 1 つのパラメーターを持つメソッドに進みます -

Example

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);
   }
}
ログイン後にコピー

次に、あいまいな呼び出しの原因を見てみましょう。ここで混乱するのは、2 番目のメソッドではデフォルトのパラメータが 2 つ必要であるのに対し、最初のメソッドではデフォルトのパラメータが 1 つ必要であることです。これにより曖昧さが生じます。

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);
   }
}
ログイン後にコピー

以上がC# のオーバーロードされたメソッドとあいまいさの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート