Which of the following statements is correct?

A constructor can be used to set default values and limit instantiation.
C# provides a copy constructor.
Destructors are used with classes as well as structures.
A class can have more than one destructor.
Which of the following statements is correct about the C#.NET code snippet given below?
namespace ASTIWZConsoleApplication
{ 
    class Sample
    { 
        public int func()
        {
            return 1;
        } 
        public Single func()
        { 
            return 2.4f ;
        } 
    } 
    class Program
    { 
        static void Main(string[ ] args)
        {
            Sample s1 = new Sample(); 
            int i;
            i = s1.func(); 
            Single j; 
            j = s1.func(); 
        } 
    } 
}

func() is a valid overloaded function.
Overloading works only in case of subroutines and not in case of functions.
func() cannot be considered overloaded because: return value cannot be used to distinguish between two overloaded functions.
The call to i = s1.func() will assign 1 to i.
Which of the following ways to create an object of the Sample class given below will work correctly?
class Sample
{
    int i;
    Single j;
    double k;
    public Sample (int ii, Single jj, double kk)
    {
        i = ii;
        j = jj;
        k = kk;
    } 
}

Sample s1 = new Sample();
Sample s1 = new Sample(10);
Sample s2 = new Sample(10, 1.2f);
Sample s3 = new Sample(10, 1.2f, 2.4);
Which of the following statements are correct about static functions?
  1. Static functions can access only static data.
  2. Static functions cannot call instance functions.
  3. It is necessary to initialize static data.
  4. Instance functions can call static functions and access static data.
  5. this reference is passed to static functions.

1, 2, 4
2, 3, 5
3, 4
4, 5
Which of the following statements is correct about constructors?

If we provide a one-argument constructor then the compiler still provides a zero-argument constructor.
Overloaded constructors have the same name as the class name.
Overloaded constructors cannot use optional arguments.
If we do not provide a constructor, then the compiler provides a zero-argument constructor.
Which of the following is the correct way to define the constructor(s) of the Sample class if we are to create objects as per the C#.NET code snippet given below?
Sample s1 = new Sample(); 
Sample s2 = new Sample(9, 5.6f);

public Sample()

{

    i = 0;

    j = 0.0f;

}

public Sample (int ii, Single jj)

{

    i = ii;

    j = jj;

}

public Sample (Optional int ii = 0, Optional Single jj = 0.0f)

{

    i = ii;

    j = jj;

}

public Sample (int ii, Single jj)

{

    i = ii;

    j = jj

}

Sample s;
In which of the following should the methods of a class differ if they are to be treated as overloaded methods?
  1. Type of arguments
  2. Return type of methods
  3. Number of arguments
  4. Names of methods
  5. Order of arguments

2, 4
3, 5
1, 3, 5
3, 4, 5
Can static procedures access instance data?

Yes
No
Which of the following statements are correct about constructors in C#.NET?
  1. Constructors cannot be overloaded.
  2. Constructors always have the name same as the name of the class.
  3. Constructors are never called explicitly.
  4. Constructors never return any value.
  5. Constructors allocate space for the object in memory.

1, 3, 5
2, 3, 4
3, 5
4, 5
How many times can a constructor be called during lifetime of the object?

As many times as we call it.
Only once.
Depends upon a Project Setting made in Visual Studio.NET.
Any number of times before the object gets garbage collected.
Is it possible to invoke Garbage Collector explicitly?

Yes
No
Which of the following statements are correct about the C#.NET code snippet given below?
class Sample
{
    static int i;
    int j;
    public void proc1()
    {
        i = 11; 
        j = 22;
    }
    public static void proc2()
    {
        i = 1;
        j = 2;
    }
    static Sample()
    {
        i = 0; 
        j = 0;
    }
}

i cannot be initialized in proc1().
proc1() can initialize i as well as j.
j can be initialized in proc2().
The constructor can never be declared as static.
Is it possible for you to prevent an object from being created by using zero argument constructor?

Yes
No
Which of the following statements are correct about static functions?

Static functions are invoked using objects of a class.
Static functions can access static data as well as instance data.
Static functions are outside the class scope.
Static functions are invoked using class.
What will be the output of the C#.NET code snippet given below?
namespace ASTIWZConsoleApplication
{ 
    class Sample
    { 
        static Sample()
        { 
            Console.WriteLine("Sample class");
        }
        public static void Bix1()
        { 
            Console.WriteLine("Bix1 method");
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        { 
            Sample.Bix1();
        } 
    } 
}

Sample class Bix1 method
Bix1 method
Sample class
Bix1 method Sample class
Which of the following statements is correct about constructors in C#.NET?

A constructor cannot be declared as private.
A constructor cannot be overloaded.
A constructor can be a static constructor.
A constructor cannot access static data.
What will be the output of the C#.NET code snippet given below?
namespace ASTIWZConsoleApplication
{
    class Sample
    { 
        public static void fun1()
        { 
            Console.WriteLine("Bix1 method");
        }
        public void fun2()
        { 
            fun1(); 
            Console.WriteLine("Bix2 method");
        }
        public void fun2(int i)
        { 
            Console.WriteLine(i);
            fun2(); 
        } 
    } 
    class MyProgram
    { 
        static void Main(string[ ] args)
        { 
            Sample s = new Sample(); 
            Sample.fun1(); 
            s.fun2(123);
        } 
    } 
}

Bix1 method

123

Bixl method

Bix2 method

Bix1 method

123

Bix2 method

Bix2 method

123

Bix2 method

Bixl method

Bixl method

123