Q.1

When would a structure variable get destroyed?

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

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.
  • 1, 2, 4
  • 3, 5
  • 2, 4
  • 3, 4, 5
Q.3

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();
  • The structure variable b will be created on the heap.
  • We can add a zero-argument constructor to the above structure.
  • When the program terminates, variable b will get garbage collected.
  • The structure variable b will be created on the stack.
  • We can inherit a new structure from struct Book.
Q.4

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

namespace IndiabixConsoleApplication
{ 
    struct Sample
    {
        public int i;
    }
    class MyProgram
    { 
        static void Main(string[] args)
        {
            Sample x = new Sample();
            Sample y;
            x.i =            y = x;
            y.i =            Console.WriteLine(x.i + " " + y.i); 
        } 
    } 
}
  • 9 9
  • 9 5
  • 5 5
  • 5 9
  • None of the above
Q.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();
  • ss will be created on the heap.
  • Trial object referred by z will be created on the stack.
  • z will be created on the heap.
  • Both ss and z will be created on the heap.
  • ss will be created on the stack.
Q.6

The space required for structure variables is allocated on stack.

  • True
  • False
Q.7

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 =
            fun(ref x); 
            Console.Write(x.i + " ");
        }
        public static void fun(ref Sample y)
        { 
            y.i =            Console.Write(y.i + " "); 
        } 
    } 
}
  • 20 10
  • 10 20
  • 10 10
  • 20 20
  • None of the above
Q.8

Which of the following statements is correct?

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

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.
  • 1, 2, 4
  • 2, 3, 5
  • 2, 4
  • 1, 3
Q.10

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();
  • 20 bytes
  • 12 bytes
  • 8 bytes
  • 16 bytes
  • 24 bytes
Q.11

Creating empty structures is allowed in C#.NET.

  • True
  • False
Q.12

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 =        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.
  • 1, 2
  • 1, 3, 5
  • 2, 4
  • 3, 4, 5
Q.13

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;
  • All elements of a will get copied into corresponding elements of b.
  • Address stored in a will get copied into b.
  • Once assignment is over a will get garbage collected.
  • Once assignment is over a will go out of scope, hence will die.
  • Address of the first element of a will get copied into b.
Q.14

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()
        {
            Sample x = new Sample(); 
            x.i =
            fun(x); 
            Console.Write(x.i + " ");
        }
        static void fun(Sample y)
        {
            y.i =
            Console.Write(y.i + " ");
        } 
    } 
}
  • 10 20
  • 10 10
  • 20 10
  • 20 20
  • None of the above
Q.15

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.
  • 1, 2
  • 3, 4
  • 1, 2, 4
  • 3, 5
Q.16

C#.NET structures are always value types.

  • True
  • False
Q.17

Which of the following is the correct way of setting values into the structure variable e defined below?

struct Emp
{
    public String name;
    public int age;
    public Single sal; 
}
Emp e = new Emp();
  • e.name = "Amol"; 
    e.age = 25; 
    e.sal = 5500;
  • With e
    {
        .name = "Amol";
        .age = 25;
        .sal = 5500; 
    }
  • With emp e
    {
        .name = "Amol";
        .age = 25;
        .sal = 5500; 
    }
  • e -> name = "Amol"; 
    e -> age = 25;
    e -> sal = 5500;
  • name = "Amol"; 
    age = 25;
    sal = 5500;
Q.18

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;
  • 1, 3
  • 2, 5
  • 4, 5
  • 1, 2, 4
0 h : 0 m : 1 s