C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のジェネリックメソッドとは何ですか?


ジェネリックスを使用すると、任意のデータ型で機能するクラスまたはメソッドを記述できます。タイプパラメータ-

を使用してジェネリックメソッドを宣言します
static void Swap(ref T lhs, ref T rhs) {}

上に示したジェネリックメソッドを呼び出すために、ここに例があります-

Swap(ref a, ref b);

C#でジェネリックメソッドを作成する方法を見てみましょう-

using System;
using System.Collections.Generic;

namespace Demo {
   class Program {
      static void Swap(ref T lhs, ref T rhs) {
         T temp;
         temp = lhs;
         lhs = rhs;
         rhs = temp;
      }

      static void Main(string[] args) {
         int a, b;
         char c, d;
         a = 45;
         b = 60;
         c = 'K';
         d = 'P';
         Console.WriteLine("Int values before calling swap:");
         Console.WriteLine("a = {0}, b = {1}", a, b);
         Console.WriteLine("Char values before calling swap:");
         Console.WriteLine("c = {0}, d = {1}", c, d);
         Swap(ref a, ref b);
         Swap(ref c, ref d);
         Console.WriteLine("Int values after calling swap:");
         Console.WriteLine("a = {0}, b = {1}", a, b);
         Console.WriteLine("Char values after calling swap:");
         Console.WriteLine("c = {0}, d = {1}", c, d);
         Console.ReadKey();
      }
   }
}

出力

Int values before calling swap:
a = 45, b = 60
Char values before calling swap:
c = K, d = P
Int values after calling swap:
a = 60, b = 45
Char values after calling swap:
c = P, d = K

  1. C#でパラメーターを渡すさまざまな方法は何ですか?

    パラメータを持つメソッドが呼び出されたら、次の3つのメソッドのいずれかを使用してパラメータをメソッドに渡す必要があります- 参照パラメータ このメソッドは、引数のメモリ位置への参照を仮パラメータにコピーします。これは、パラメータに加えられた変更が引数に影響を与えることを意味します。 値パラメータ このメソッドは、引数の実際の値を関数の仮パラメーターにコピーします。この場合、関数内のパラメーターに加えられた変更は引数に影響を与えません。 値パラメーターでは、メソッドが呼び出されると、値パラメーターごとに新しい保管場所が作成されます。実際のパラメータの値がそれらにコピーされます。したがって、

  2. Javaのクラス/静的メソッドとは何ですか?

    クラス/S タティック メソッドは、特定のオブジェクトインスタンスではなく、クラス自体で呼び出されるメソッドです。静的修飾子は、実装がすべてのクラスインスタンスで同じであることを保証します。クラス/静的メソッドはインスタンス化なしで呼び出されます 静的メソッドは、クラスの他の静的メンバーにのみアクセスできることを意味します。 Javaに組み込まれている静的/クラスメソッドには、 Math.random()、System.gc()、Math.sqrt()、Math.random()があります。 など 構文 public class className {  modifier stati