C# Programming Questions and Answers Part-15

1. What will be the output of the following C# code?
static void Main(string[] args)
{
int i, j;
int[, ] arr = new int[ 3, 3];
for (i = 0; i < 3; ++i)
{
for (j = 0; j < 3; ++j)
{
arr[i, j] = i * 2 + i * 2;
Console.WriteLine(arr[i, j]);
}
Console.ReadLine();
}
}
a) 0, 0, 0 4, 4, 4 8, 8, 8
b) 4, 4, 4 8, 8, 8 12, 12, 12
c) 8, 8, 8 12, 12, 12 16, 16, 16
d) 0, 0, 0 1, 1, 1 2, 2, 2

Answer: a
Explanation: Since, with each value of of ‘i’ the value of ‘j’ is executed three times i.e
for i = 0, j = 0, 0, 0, i = 1, j = 2, 2, 2.
Output:
0, 0, 0 4, 4, 4 8, 8, 8

2. What will be the output of the following C# code?
{
char A = 'K';
char B = Convert.ToChar(76);
A++;
B++;
Console.WriteLine(A+ " " +B);
Console.ReadLine();
}
a) M L
b) U L
c) L M
d) A B

Answer: c
Explanation: “++” increments the value of character by 1. A and B are given values K and 76, when we use increment operator their values increments by 1, A and B becomes L and M.

3. What will be the output of the following C# code?
static void Main(string[] args)
{
double a = 345.09;
byte c = (byte) a;
Console.WriteLine(c);
Console.ReadLine();
}
a) 98
b) 89
c) 88
d) 84

Answer: b
Explanation: Type casting a larger variable into a smaller variable results in modules of larger variable by range of smaller variable. a is ‘345.09’ which is larger than byte range ie -128 to 127.
Output :
89

4. Which statement is correct about following c#.NET code?
int[] a= {11, 3, 5, 9, 6};
a) a’ is a reference to the array created on stack
b) ‘a’ is a reference to an object created on stack
c) ‘a’ is a reference to an object of a class that compiler drives from ‘System.Array’ class
d) None of the mentioned

Answer: c
Explanation: A perfect way of defining single array in C# which is derived automatically from class ‘System.Array’.

5. What is the advantage of using 2D jagged array over 2D rectangular array?
a) Easy initialization of elements
b) Allows unlimited elements as well as rows which had ‘0’ or are empty in nature
c) All of the mentioned
d) None of the mentioned

Answer: b
Explanation: In many applications where 2 dimensional arrays are used, not all rows need to have all the elements i.e they are sparse. Many rows have 0 elements. In such cases it is better to use 2D jagged arrays as they allow unequal number of elements in each row and also allow for empty rows.

6. Which statement is correct about following C# code?
int[, ]a={{5, 4, 3},{9, 2, 6}};
a) a’ represents 1-D array of 5 integers
b) a.GetUpperBound(0) gives 9
c) ’a’ represents rectangular array of 2 columns and 3 arrays
d) a.GetUpperBound(0) gives 2

Answer: c
Explanation: ’a’ represents rectangular array of 2 columns and 3 arrays

7. What will be the output of the following C# code?
static void Main(string[] args)
{
Program p = new Program();
p.display(2, 3, 8);
int []a = { 2, 56, 78, 66 };
Console.WriteLine("example of array");
Console.WriteLine("elements added are");
p.display(a);
Console.ReadLine();
}
public void display(params int[] b)
{
foreach (int i in b)
{
Console.WriteLine("ARRAY IS HAVING:{0}", i);
}
}
a) Compile time error
b) Run time error
c) Code runs successfully but prints nothing
d) Code runs successfully and prints given on console

Answer: d
Explanation: Object ‘p’ makes a call to invoke function display() and hence consecutively prints the output. Array ‘a’ is declared with elements again object ‘p’ makes a call to display() and hence, consecutively prints the output with given elements.
Output:
ARRAY IS HAVING:2
ARRAY IS HAVING:3
ARRAY IS HAVING:8
elements added are:
ARRAY IS HAVING:2
ARRAY IS HAVING:56
ARRAY IS HAVING:78
ARRAY IS HAVING:66

8. Choose selective differences between an array in c# and array in other programming languages.
a) Declaring array in C# the square bracket([]) comes after the type but not after identifier
b) It is necessary to declare size of an array with its type
c) No difference between declaration of array in c# as well as in other programming languages
d) all of the mentioned

Answer: a
Explanation: i. When declaring an array in C#, the square brackets ([]) come after the type, not the identifier. Brackets after the identifier are not legal syntax in C#.
example :
int[] IntegerArray;
ii. The size of the array is not part of its type as it is in the C language. This allows to declare an array and assign any array of int objects to it, regardless of the array’s length.
int[] IntegerArray;
IntegerArray = new int[10];
IntegerArray = new int[50];

9. Which of the following string() method are used to compare two strings with each other?
a) CopyTo()
b) Copy()
c) Compare()
d) CompareTo()

Answer: d
Explanation: CompareTo()

10. Choose the base class for string() method:
a) System.Array
b) System.char
c) System.String
d) None of the mentioned

Answer: c
Explanation: String is an alias for the predefined “System.string” class from which most of the string() methods are derived.