ホームページ  >  記事  >  バックエンド開発  >  C# のオーバーロードとは何ですか?

C# のオーバーロードとは何ですか?

WBOY
WBOY転載
2023-09-06 22:17:02786ブラウズ

C# のオーバーロードとは何ですか?

#C# は、静的ポリモーフィズムを実現するための 2 つの手法を提供します。

    関数のオーバーロード
  • 演算子のオーバーロード
Functionオーバーロード

同じ名前でパラメーターが異なる 2 つ以上のメソッドは、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演算記号および説明#12#3==、!=、##45 =、-=、*=、/=、%=6#
、 - 、 !、 ~、 、 -- これら単項演算子は 1 つのオペランドを受け取り、オーバーロードできます。

、 -、 *、 /、 %これらの二項演算子は、オペランドであり、オーバーロードすることができます。

=比較演算子はオーバーロードできます。

&&, || 条件付き論理演算子を直接オーバーロードすることはできません。

代入演算子はオーバーロードできません。

=, ., ?:, - これらの演算子はオーバーロードできません

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

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。