C#

Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Monday, 27 June 2016

Order in which Constructor is called :- Interview Question



Case :1
using System;

namespace Lesson1
{
    class Program
    {
        static void Main(string[] args)
        {
            C obj = new C();
            Console.WriteLine("------------");
            A obj1 = new C();
            Console.WriteLine("------------");
            B obj2 = new B();
            Console.WriteLine("------------");
            A obj3 = new A();
            Console.WriteLine("------------");
            Console.ReadKey();
        }

    }
    class A
    {
        public A()
        {
            Console.WriteLine("A");
        }

    }
    class B : A
    {
        public B()
        {
            Console.WriteLine("B");
        }

    }
    class C : B
    {
        public C()
        {
            Console.WriteLine("C");
        }

    }
}

















Case 2:


using System;

namespace Lesson1
{
    class Program
    {
        static void Main(string[] args)
        {
            C obj = new C();

            //A obj1 = new C();
            //GC.Collect();
            //Console.WriteLine("------------");
            //A obj1 = new C();
            //Console.WriteLine("------------");
            //B obj2 = new B();
            //Console.WriteLine("------------");
            //A obj3 = new A();
            //Console.WriteLine("------------");
            Console.ReadKey();
        }

    }
    class A
    {
        static A()
        {
            Console.WriteLine("A");
        }
        ~A()
        {
            Console.WriteLine("A destroyed");
        }
    }
    class B : A
    {
        static B()
        {
            Console.WriteLine("B");
        }
       ~B()
        {
            Console.WriteLine("B destroyed");
        }
    }
    class C : B
    {
        static C()
        {
            Console.WriteLine("C");
        }
        ~C()
        {
            Console.WriteLine("C destroyed");
        }
    }
}










Case 3:

using System;

namespace Lesson1
{
    class Program
    {
        static void Main(string[] args)
        {
            C obj = new C();

            //A obj1 = new C();
            //GC.Collect();
            //Console.WriteLine("------------");
            //A obj1 = new C();
            //Console.WriteLine("------------");
            //B obj2 = new B();
            //Console.WriteLine("------------");
            //A obj3 = new A();
            //Console.WriteLine("------------");
            Console.ReadKey();
        }

    }
    class A
    {
        static A()
        {
            Console.WriteLine("A");
        }
        ~A()
        {
            Console.WriteLine("A destroyed");
        }
    }
    class B : A
    {
        static B()
        {
            Console.WriteLine("B");
        }
       ~B()
        {
            Console.WriteLine("B destroyed");
        }
    }
    class C : B
    {
        public C()
        {
            Console.WriteLine("C");
        }
        ~C()
        {
            Console.WriteLine("C destroyed");
        }
    }
}





Compile time polymorphism question :- Interview Question

Will it compile ?

using System;

namespace Lesson1
{

    class Program
    {
        static void Main(string[] args)
        {
            Program.Add(5, 5);
        }
        static void Add(double x, int y)
        {
            Console.WriteLine(x + y);
        }
        static double Add(int x, double y)
        {
            return x + y;
        }

    }
}

Ans:- No