Generics in C#
Mar 28, 2018 02:00 0 Comments C# (C-Sharp) Raj Kumar

                                    Generics in C#

Generics allow you to define the specification of the data type of programming elements in a class or a method, until it is actually used in the program. In other words, generics allow you to write a class or method that can work with any data type.

You write the specifications for the class or the method, with substitute parameters for data types. When the compiler encounters a constructor for the class or a function call for the method, it generates code to handle the specific data type.

A simple example would help understanding the concept −

using System;

using System.Collections.Generic;

namespace GenericApplication {

   public class MyGenericArray {

      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 intArray = new MyGenericArray(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 charArray = new MyGenericArray(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();

      }

   }

}

When the above code is compiled and executed, it produces the following result −

Prev Next
About the Author
Topic Replies (0)
Leave a Reply
Guest User

You might also like

Not sure what course is right for you?

Choose the right course for you.
Get the help of our experts and find a course that best suits your needs.


Let`s Connect