C# Questions

1. Which of the following unary operators can be overloaded?
1. true
2. false
3. +
4. new
5. is
A.1, 2, 3
B.3, 4, 5
C.3 only
D.5 only

2. A derived class can stop virtual inheritance by declaring an override as
A.Inherits
B.Extends
C.Inheritable
D.not inheritable
E.Sealed

3. Which of the following keyword is used to change the data and behavior of
a base class by replacing a member of a base class with a new derived
member?

A.new
B.base
C.overloads
D.override
E.overridable

4. Which of the following statements is correct?
A.When used as a modifier, the new keyword explicitly hides a member inherited
from a base class.
B.Operator overloading works in different ways for structures and classes.
C.It is not necessary that all operator overloads are static methods of the class.
D.The cast operator can be overloaded.

5. Which of the following keyword is used to overload user-defined types by
defining static member functions?

A.op
B.opoverload
C.operator
D.operatoroverload
E.udoperator

6. Which of the followings is the correct way to overload + operator?
A.public sample operator + ( sample a, sample b )
B.public abstract operator + ( sample a, sample b)
C.public abstract sample operator + (sample a, sample b )
D.public static sample operator + ( sample a, sample b )
E.All of the above

7. Which of the following statements is correct?
A.Static methods can be a virtual method.
B.Abstract methods can be a virtual method.
C.It is necessary to override a virtual method.
D.When overriding a method, the names and type signatures of the override method
must be the same as the virtual method that is being overriden.
E.We can override virtual as well as non-virtual methods.

8. Which of the following statements are correct?
1. All operators in C#.NET can be overloaded.
2. We can use the new modifier to modify a nested type if the nested type is
hiding another type.
3. In case of operator overloading all parameters must be of the different type
than the class or struct that declares the operator.
4. Method overloading is used to create several methods with the same name
that performs similar tasks on similar data types.
5. Operator overloading permits the use of symbols to represent computations
for a type.
A.1, 3
B.2, 4
C.2, 5
D.3, 4

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

public class Sample
{
public int x;
public virtual void fun()
{ }
}
public class DerivedSample : Sample
{
new public void fun()
{ }
}
A.DerivedSample class hides the fun() method of base class.
B.The DerivedSample class version of fun() method gets called using Sample class
reference which holds DerivedSample class object.
C.The code replaces the DerivedSample class version of fun() method with its
Sample class version.
D.It is not possible to hide Sample class version of fun() method without use of new
in DerivedSample class.

  1. Which of the following statements is correct?
    A.The conditional logical operators cannot be overloaded.
    B.When a binary operator is overloaded the corresponding assignment operator, if
    any, must be explicitly overloaded.
    C.We can use the default equality operator in an overloaded implementation of the
    equality operator.
    D.A public or nested public reference type does not overload the equality operator.
    E.The array indexing operator can be overloaded.

11. Which of the following operators cannot be overloaded?
1. true
2. false
3. new
4. ~
5. sizeof
A.1, 3
B.2, 4
C.3, 5
D.All of the above

12. Which of the following modifier is used when a virtual method is
redefined by a derived class?

A.overloads
B.override
C.overridable
D.virtual
E.base

13. In order for an instance of a derived class to completely take over a class
member from a base class, the base class has to declare that member as

A.New
B.Base
C.Virtual
D.Overrides
E.Overloads

14. Which of the following can be declared as a virtual in a class?
1. Methods
2. Properties
3. Events
4. Fields
5. Static fields
A.1, 2, 3
B.3, 5
C.2, 4
D.2, 3, 5

15. Which of the following statements is correct?
A.Only one object can be created from an abstract class.
B.By default methods are virtual.
C.If a derived class does not provide its own version of virtual method then the one
in the base class is used.
D.If the method in the derived class is not preceded by override keywords, the
compiler will issue a warning and the method will behave as if the override
keyword were present.
E.Each derived class does not have its own version of a virtual method.

16. Which of the following are necessary for Run-time Polymorphism?
1. The overridden base method must be virtual, abstract or override.
2. Both the override method and the virtual method must have the same access
level modifier.
3. An override declaration can change the accessibility of the virtual method.
4. An abstract inherited property cannot be overridden in a derived class.
5. An abstract method is implicitly a virtual method.
A.1, 3
B.1, 2, 5
C.2, 3, 4
D.4 only

17. Which of the following statements is correct about the C#.NET code
snippet given below?
class Student s1, s2; // Here ‘Student’ is a user-defined class.
s1 = new Student();
s2 = new Student();
A. Contents of s1 and s2 will be exactly same.
B. The two objects will get created on the stack.
C. Contents of the two objects created will be exactly same.
D.
The two objects will always be created in adjacent memory locations.
E. We should use delete() to delete the two objects from memory.

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

class Sample
{
private int i;
public Single j;
private void DisplayData()
{
Console.WriteLine(i + ” ” + j);
}
public void ShowData()
{
Console.WriteLine(i + ” ” + j);
}
}
A. j cannot be declared as public .
B. DisplayData() cannot be declared as private .
C. DisplayData() cannot access j .
D. ShowData() cannot access to i .
E. There is no error in this class.

19. Which of the following statements are correct?
1. Instance members of a class can be accessed only through an object of that
class .
2. A class can contain only instance data and instance member function .
3. All objects created from a class will occupy equal number of bytes in memory.
4. A class can contain Friend functions.
5. A class is a blueprint or a template according to which objects are created.
A.1, 3, 5
B.2, 4
C.3, 5
D.2, 4, 5
E.None of these

20. Which of the following statements is correct?
A. Procedural Programming paradigm is different than structured programming
paradigm.
B. Object Oriented Programming paradigm stresses on dividing the logic into smaller
parts and writing procedures for each part.
C. Classes and objects are corner stones of structured programming paradigm.
D. Object Oriented Programming paradigm gives equal importance to data and the
procedures that work on the data.
E. C#.NET is a structured programming language.

21. Which of the following is the correct way to create an object of the class
Sample ?

1. Sample s = new Sample();
2. Sample s;
3. Sample s; s = new Sample();
4. s = new Sample();
A.1, 3
B.2, 4
C.1, 2, 3
D.4, 5
E.None of these

22. Which of the following will be the correct output for the C#.NET program
given below?
namespace ConsoleApp
{
class Sample
{
int i;
Single j;
public void SetData(int i, Single j)
{
i = i;
j = j;
}
public void Display()
{
Console.WriteLine(i + ” ” + j);
}
}
class MyProgram
{
static void Main(string[ ] args)
{
Sample s1 = new Sample();
s1.SetData(10, 5.4f);
s1.Display();
}
}
}
A. 0 0
B. 10 5.4
C. 10 5.400000
D. 10 5
E. None of the above

23. The this reference gets created when a member function (non-shared) of a
class is called.

A.True B.False

24. Which of the following statements are correct?
1. Data members ofa class are by default public .
2. Data members of a class are by default private .
3. Member functions ofa class are by default public .
4. A private function of a class can access a public function within the same
class.
5. Member function of a class are by default private .
A. 1, 3, 5
B. 1, 4
C. 2, 4, 5
D. 1, 2, 3
E. None of these

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

namespace ConsoleApp
{
class Sample
{
public int index;
public int[] arr = new int[10];
public void fun(int i, int val)
{
arr[i] = val;
}
}
class MyProgram
{
static void Main(string[] args)
{
Sample s = new Sample();
s.index = 20;
Sample.fun(1, 5);
s.fun(1, 5);
}
}
}
A. s.index = 20 will report an error since index is public .
B. The call s.fun(1, 5) will work correctly.
C. Sample.fun(1, 5) will set a value 5 in arr[ 1 ] .
D. The call Sample.fun(1, 5) cannot work since fun() is not a shared function.
E. arr being a data member, we cannot declare it as public .

26. Which of the following statements are correct about the C#.NET code
snippet given below?
sample c;
c = new sample();
1. It will create an object called sample.
2. It will create a nameless object of the type sample.
3. It will create an object of the type sample on the stack.
4. It will create a reference c on the stack and an object of the type sample on
the heap.
5. It will create an object of the type sample either on the heap or on the stack
depending on the size of the object.
A. 1, 3
B. 2, 4
C. 3, 5
D. 4, 5
E. None of these

27. Which of the following statements is correct about the C#.NET code
snippet given below?
int i;
int j = new int();
i = 10;
j = 20;
String str;
str = i.ToString();
str = j.ToString();
A. This is a perfectly workable code snippet.
B. Since int is a primitive, we cannot use new with it.
C. Since an int is a primitive, we cannot call the method ToString() using it.
D. i will get created on stack, whereas j will get created on heap.
E. Both i and j will get created on heap.

28. Which of the following statements are correct about the this reference?
1. this reference can be modified in the instance member function of a class.
2. Static functions of a class never receive the this reference.
3. Instance member functions of a class always receive a this reference.
4. this reference continues to exist even after control returns from an instance
member function.
5. While calling an instance member function we are not required to pass the
this reference explicitly.
A. 1, 4
B. 2, 3, 5
C. 3, 4
D. 2, 5
E. None of these

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

namespace ConsoleApp
{
class Sample
{
int i;
Single j;
public void SetData(int i, Single j)
{
this.i = i;
this.j = j;
}
public void Display()
{
Console.WriteLine(i + ” ” + j);
}
}
class MyProgram
{
static void Main(string[ ] args)
{
Sample s1 = new Sample();
s1.SetData(36, 5.4f);
s1.Display();
}
}
}
A. 0 0.0
B. 36 5.4
C. 36 5.400000
D. 36 5
E. None of the above

30. Which of the following statements are correct about objects of a
user-defined class called Sample ?

1. All objects of Sample class will always have exactly same data.
2. Objects of Sample class may have same or different data.
3. Whether objects of Sample class will have same or different data depends
upon a Project Setting made in Visual Studio.NET.
4. Conceptually, each object of Sample class will have instance data and
instance member functions of the Sample class.
5. All objects of Sample class will share one copy of member functions.
A. 1, 3
B. 2, 4
C. 4, 5
D. 3, 5
E. None of these

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

namespace ConsoleApp
{
class Sample
{
int i, j;
public void SetData(int ii, int jj)
{
this.i = ii;
this.j = jj
}
}
class MyProgram
{
static void Main(string[ ] args)
{
Sample s1 = new Sample();
s1.SetData(10, 2);
Sample s2 = new Sample();
s2.SetData(5, 10);
}
}
}
A. The code will not compile since we cannot explicitly use this .
B. Using this in this program is necessary to properly set the values in the object.
C. The call to SetData() is wrong since we have not explicitly passed the this
reference to it.
D. The definition of SetData() is wrong since we have not explicitly collected the
this reference.
E. Contents of this will be different during each call to SetData() .

32. Which of the following statements is correct about classes and objects in
C#.NET?
A. Class is a value type.
B. Since objects are typically big in size, they are created on the stack.
C. Objects of smaller size are created on the heap.
D. Smaller objects that get created on the stack can be given names.
E. Objects are always nameless.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s