• Structures - General Questions
11. 

When would a structure variable get destroyed?

A. When no reference refers to it, it will get garbage collected.
B. Depends upon whether it is created using new or without using new.
C. When it goes out of scope.
D. Depends upon the Project Settings made in Visual Studio.NET.
E. Depends upon whether we free it's memory using free() or delete().

12. 

Which of the following statements is correct about the C#.NET code snippet given below?

struct Book
{
    private String name; 
    private int noofpages; 
    private Single price;
}
Book b = new Book();

A. The structure variable b will be created on the heap.
B. We can add a zero-argument constructor to the above structure.
C. When the program terminates, variable b will get garbage collected.
D. The structure variable b will be created on the stack.
E. We can inherit a new structure from struct Book.

13. 

Which of the following will be the correct output for the C#.NET program given below?

namespace IndiabixConsoleApplication
{ 
    struct Sample
    { 
        public int i;
    }
    class MyProgram
    { 
        static void Main(string[] args)
        {
            Sample x = new Sample(); 
            x.i = 10; 
            fun(ref x); 
            Console.Write(x.i + " ");
        }
        public static void fun(ref Sample y)
        { 
            y.i = 20;
            Console.Write(y.i + " "); 
        } 
    } 
}

A. 20 10
B. 10 20
C. 10 10
D. 20 20
E. None of the above

14. 

Which of the following statements is correct?

A. A struct never declares a default constructor.
B. All value types in C# inherently derive from ValueType, which inherits from Object.
C. A struct never declares a default destructor.
D. In C#, classes and structs are semantically same.

15. 

Which of the following statements are correct about the structure declaration given below?

struct Book
{
    private String name; 
    protected int totalpages; 
    public Single price; 
    public void Showdata()
    {
        Console.WriteLine(name + " " + totalpages + " " + price);
    } 
    Book()
    {
        name = " "; 
        totalpages = 0;
        price = 0.0f; 
    } 
} 
Book b = new Book();
  1. We cannot declare the access modifier of totalpages as protected.
  2. We cannot declare the access modifier of name as private.
  3. We cannot define a zero-argument constructor inside a structure.
  4. We cannot declare the access modifier of price as public.
  5. We can define a Showdata() method inside a structure.

A. 1, 2
B. 1, 3, 5
C. 2, 4
D. 3, 4, 5