Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
Node is saved as draft in My Content >> Draft
  • Generics in C#

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 37
    Comment on it

    Generics are mainly used when you don't want to specify any passing parameter data type or class return type . It will be decide on run time while invoking the method or class.

     

    Example of Generic class:

    
    using System;
    using System.Collections.Generic;
    
    namespace GenericApplication
    {
       public class MyGenericArray<T>
       {
          private T[] array;
          public MyGenericArray(int size)
          {
             array = new T[size + 1];
          }
    
          public T getItem(int index)
          {
             return array[index];
          }
    
          public void setItem(int index, T value)
          {
             array[index] = value;
          }
       }
    
       class Tester
       {
          static void Main(string[] args)
          {
    
             //declaring an int array
             MyGenericArray<int> intArray = new MyGenericArray<int>(5);
    
             //setting values
             for (int c = 0; c < 5; c++)
             {
                intArray.setItem(c, c*5);
             }
    
             //retrieving the values
             for (int c = 0; c < 5; c++)
             {
                Console.Write(intArray.getItem(c) + " ");
             }
    
             Console.WriteLine();
    
             //declaring a character array
             MyGenericArray<char> charArray = new MyGenericArray<char>(5);
    
             //setting values
             for (int c = 0; c < 5; c++)
             {
                charArray.setItem(c, (char)(c+97));
             }
    
             //retrieving the values
             for (int c = 0; c< 5; c++)
             {
                Console.Write(charArray.getItem(c) + " ");
             }
             Console.WriteLine();
    
             Console.ReadKey();
          }
       }
    }
    

    Generic Methods

    Previous example was generic class now we will use generic methods

    Ex:
    using System;
    using System.Collections.Generic;
    
    namespace GenericMethodAppl
    {
       class Program
       {
          static void Swap<T>(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 = 10;
             b = 20;
             c = 'I';
             d = 'V';
    
             //display values before swap:
             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);
    
             //call swap
             Swap<int>(ref a, ref b);
             Swap<char>(ref c, ref d);
    
             //display values after swap:
             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();
          }
       }
    }
    
    .net

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: