Demonstrate a generic method : Generic Method « Generics « C# / C Sharp






Demonstrate a generic method

Demonstrate a generic method

using System;

class ArrayUtils {

  public static bool copyInsert<T>(T e, int idx, T[] src, T[] target) {

    if(target.Length < src.Length+1)
      return false;

    for(int i=0, j=0; i < src.Length; i++, j++) {
      if(i == idx) {
        target[j] = e;
        j++;
      }
      target[j] = src[i];
    }

    return true;
  }
}

class Test {
  public static void Main() {
    int[] nums = { 1, 2, 3 };
    int[] nums2 = new int[4];

    Console.Write("Contents of nums: ");
    foreach(int x in nums)
      Console.Write(x + " ");

    Console.WriteLine();

    ArrayUtils.copyInsert(99, 2, nums, nums2);

    Console.Write("Contents of nums2: ");
    foreach(int x in nums2)
      Console.Write(x + " ");

    Console.WriteLine();

    string[] strs = { "Generics", "are", "powerful."};
    string[] strs2 = new string[4];

    Console.Write("Contents of strs: ");
    foreach(string s in strs)
      Console.Write(s + " ");

    Console.WriteLine();

    ArrayUtils.copyInsert("in C#", 1, strs, strs2);

    Console.Write("Contents of strs2: ");
    foreach(string s in strs2)
      Console.Write(s + " ");

  }
}
           
       








Related examples in the same category

1.This is a prototypical generic method:
2.A prototypical generic methodA prototypical generic method
3.Generic methods can overload nongeneric methodsGeneric methods can overload nongeneric methods