CSharp - Use default keyword to initialize array

Introduction

Use the concept of the default keyword to initialize the array with its respective types.

Demo

using System;

class MyStoreHouse<T>
{
    T[] myStore = new T[3];
    int position = 0;
    public MyStoreHouse()
    {/*  w  w w  .jav a2  s .c o m*/
        for (int i = 0; i < myStore.Length; i++)
        {
            myStore[i] = default(T);
        }
    }
    public void AddToStore(T value)
    {
        if (position < myStore.Length)
        {
            myStore[position] = value;
            position++;
        }
        else
        {
            Console.WriteLine("Store is full already");
        }
    }

    public void RetrieveFromStore()
    {
        foreach (T t in myStore)
        {
            Console.WriteLine(t);
        }
        //Or Use this block
        //for (int i = 0; i < myStore.Length; i++)
        //{
        //    Console.WriteLine(myStore[i]);
        //}

    }
}
class Program
{
    static void Main(string[] args)
    {
        MyStoreHouse<int> intStore = new MyStoreHouse<int>();
        intStore.AddToStore(45);
        intStore.AddToStore(75);
        intStore.RetrieveFromStore();

        MyStoreHouse<string> strStore = new MyStoreHouse<string>();
        strStore.AddToStore("abc");
        strStore.AddToStore("def");
        strStore.AddToStore("ghi");
        strStore.AddToStore("jkl");//Store is full already
        strStore.RetrieveFromStore();
    }
}

Result

Related Topic