CSharp Programming

CSharp Programming

Structures has 18 Questions

The space required for structure variables is allocated on stack.

True
False
Creating empty structures is allowed in C#.NET.

True
False
Which of the following will be the correct output for the C#.NET program given below?
namespace ASTIWZConsoleApplication
{ 
    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 + " ");
        } 
    } 
}

10 20
10 10
20 10
20 20
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;

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
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.
ss will be created on the stack.
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
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.
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
C#.NET structures are always value types.

True
False
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.
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.
Which of the following will be the correct output for the C#.NET program given below?
namespace ASTIWZConsoleApplication
{ 
    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 + " "); 
        } 
    } 
}

20 10
10 20
10 10
20 20
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.
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.

1, 2
1, 3, 5
2, 4
3, 4, 5
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
Which of the following will be the correct output for the program given below?
namespace ASTIWZConsoleApplication
{ 
    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); 
        } 
    } 
}

9 9
9 5
5 5
5 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