General Questions

Question 1 :

The space required for structure variables is allocated on stack.


A). True
B). False
Answer : Option A

Question 2 :

Creating empty structures is allowed in C#.NET.


A). True
B). False
Answer : Option B

Question 3 :

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

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


A). 10 20
B). 10 10
C). 20 10
D). 20 20
E). None of the above
Answer : Option C

Question 4 :

Which of the following is the correct way to define a variable of the type struct Emp declared below?

struct Emp
{
    private String name; 
    private int age; 
    private Single sal;
}
1. Emp e(); e = new Emp();
2. Emp e = new Emp;
3. Emp e; e = new Emp;
4. Emp e = new Emp();
5. Emp e;


A). 1, 3
B). 2, 5
C). 4, 5
D). 1, 2, 4
Answer : Option C

Question 5 :

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

class Trial
{ 
    int i;
    Decimal d;
}
struct Sample
{
    private int x;
    private Single y;
    private Trial z;
}
Sample ss = new Sample();


A). ss will be created on the heap.
B). Trial object referred by z will be created on the stack.
C). z will be created on the heap.
D). Both ss and z will be created on the heap.
E). ss will be created on the stack.
Answer : Option E

Question 6 :

How many bytes will the structure variable samp occupy in memory if it is defined as shown below?

class Trial
{ 
    int i; 
    Decimal d;
}
struct Sample
{
    private int x; 
    private Single y; 
    private Trial z;
}
Sample samp = new Sample();


A). 20 bytes
B). 12 bytes
C). 8 bytes
D). 16 bytes
E). 24 bytes
Answer : Option B

Question 7 :

Which of the following will be the correct result of the statement b = a in the C#.NET code snippet given below?

struct Address
{
    private int plotno;
    private String city; 
}
Address a = new Address(); 
Address b; 
b = a;


A). All elements of a will get copied into corresponding elements of b.
B). Address stored in a will get copied into b.
C). Once assignment is over a will get garbage collected.
D). Once assignment is over a will go out of scope, hence will die.
E). Address of the first element of a will get copied into b.
Answer : Option A

Question 8 :

Which of the following statements are correct?
1. A struct can contain properties.
2. A struct can contain constructors.
3. A struct can contain protected data members.
4. A struct cannot contain methods.
5. A struct cannot contain constants.


A). 1, 2
B). 3, 4
C). 1, 2, 4
D). 3, 5
Answer : Option A

Question 9 :

C#.NET structures are always value types.


A). True
B). False
Answer : Option A

Question 10 :

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().
Answer : Option C

Question 11 :

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.
Answer : Option D

Question 12 :

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

namespace IndiaparinamConsoleApplication
{ 
    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
Answer : Option D

Question 13 :

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.
Answer : Option B

Question 14 :

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
Answer : Option B

Question 15 :

Which of the following are true about classes and struct?

1. A class is a reference type, whereas a struct is a value type.
2. Objects are created using new, whereas structure variables can be created either using new or without using new.
3. A structure variable will always be created slower than an object.
4. A structure variable will die when it goes out of scope.
5. An object will die when it goes out of scope.


A). 1, 2, 4
B). 3, 5
C). 2, 4
D). 3, 4, 5
Answer : Option A

Question 16 :

Which of the following will be the correct output for the program given below?

namespace IndiaparinamConsoleApplication
{ 
    struct Sample
    {
        public int i;
    }
    class MyProgram
    { 
        static void Main(string[] args)
        {
            Sample x = new Sample();
            Sample y;
            x.i = 9;
            y = x;
            y.i = 5;
            Console.WriteLine(x.i + " " + y.i); 
        } 
    } 
}


A). 9 9
B). 9 5
C). 5 5
D). 5 9
E). None of the above
Answer : Option B

Question 17 :

Which of the following statements are correct about Structures used in C#.NET?

1. A Structure can be declared within a procedure.
2. Structs can implement an interface but they cannot inherit from another struct.
3. struct members cannot be declared as protected.
4. A Structure can be empty.
5. It is an error to initialize an instance field in a struct.


A). 1, 2, 4
B). 2, 3, 5
C). 2, 4
D). 1, 3
Answer : Option B