Microsoft .NET Interview Questions and Answers
Intermediate / 1 to 5 years experienced level questions & answers
Ques 1. What is protected accessibility?
Access is restricted to types derived from the containing class.
Ques 2. What is protected internal accessibility?
Access is restricted to types derived from the containing class or from files within the same assembly.
Ques 3. What is the default accessibility for a class?
internal for a top level class, private for a nested one.
Ques 4. What is the default accessibility for members of an interface?
public
Ques 5. Methods must declare a return type, what is the keyword used when nothing is returned from the method?
Void
Ques 6. What is a reference parameter?
Reference parameters reference the original object whereas value parameters make a
local copy and do not affect the original. Some example code is shown:
using System;
namespace Console1
{
class Class1
{
static void Main(string[] args)
{
TestRef tr1 = new TestRef();
TestRef tr2 = new TestRef();
tr1.TestValue = "Original value";
tr2.TestValue = "Original value";
int tv1 = 1;
int tv2 = 1;
TestRefVal(ref tv1, tv2, ref tr1, tr2);
Console.WriteLine(tv1);
Console.WriteLine(tv2);
Console.WriteLine(tr1.TestValue);
Console.WriteLine(tr2.TestValue);
Console.ReadLine();
}
static public void TestRefVal(ref int tv1Parm,
int tv2Parm,
ref TestRef tr1Parm,
TestRef tr2Parm)
{
tv1Parm = 2;
tv2Parm = 2;
tr1Parm.TestValue = "New value";
tr2Parm.TestValue = "New value";
}
}
}
class TestRef
{
public string TestValue;
}
The output for this is:
2
1
New value
New value
Ques 7. What is an overloaded method?
An overloaded method has multiple signatures that are different.
Ques 8. If I have a constructor with a parameter, do I need to explicitly create a default constructor?
Yes
Ques 9. What is a delegate?
A delegate in C# is like a function pointer in C or C++. A delegate is a variable that calls
a method indirectly, without knowing its name. Delegates can point to static or/and
member functions. It is also possible to use a multicast delegate to point to multiple
functions.
Ques 10. Write some code to use a delegate.
Member function with a parameter
using System;
namespace Console1
{
class Class1
{
delegate void myDelegate(int parameter1);
static void Main(string[] args)
{
MyClass myInstance = new MyClass();
myDelegate d = new myDelegate(myInstance.AMethod);
d(1); // <--- Calling function without knowing its name.
Test2(d);
Console.ReadLine();
}
static void Test2(myDelegate d)
{
d(2); // <--- Calling function without knowing its name.
}
}
class MyClass
{
public void AMethod(int param1)
{
Console.WriteLine(param1);
}
}
}
Multicast delegate calling static and member functions
using System;
namespace Console1
{
class Class1
{
delegate void myDelegate(int parameter1);
static void AStaticMethod(int param1)
{
Console.WriteLine(param1);
}
static void Main(string[] args)
{
MyClass myInstance = new MyClass();
myDelegate d = null;
d += new myDelegate(myInstance.AMethod);
d += new myDelegate(AStaticMethod);
d(1); //both functions will be run.
Console.ReadLine();
}
}
class MyClass
{
public void AMethod(int param1)
{
Console.WriteLine(param1);
}
}
}
Ques 11. What is a value type and a reference type?
A reference type is known by a reference to a memory location on the heap.
A value type is directly stored in a memory location on the stack. A reference type is
essentially a pointer, dereferencing the pointer takes more time than directly accessing
the direct memory location of a value type.
Ques 12. string is an alias for what?
System.String
Ques 13. How do you dereference an object?
Set it equal to null.
Ques 14. In terms of references, how do == and != (not overridden) work?
They check to see if the references both point to the same object.
Ques 15. What is the default value for a bool?
False
Ques 16. Write code for an enumeration.
public enum animals {Dog=1,Cat,Bear};
Ques 17. Can a struct have methods?
Yes
Ques 18. What is checked { } and unchecked { }?
By default C# does not check for overflow (unless using constants), we can use
checked to raise an exception. E.g.:
static short x = 32767; // Max short value
static short y = 32767;
// Using a checked expression
public static int myMethodCh()
{
int z = 0;
try
{
z = checked((short)(x + y));
//z = (short)(x + y);
}
catch (System.OverflowException e)
{
System.Console.WriteLine(e.ToString());
}
return z; // Throws the exception OverflowException
}
This code will raise an exception, if we remove unchecked as in:
//z = checked((short)(x + y));
z = (short)(x + y);
Then the cast will raise no overflow exception and z will be assigned –2. unchecked can
be used in the opposite way, to say avoid compile time errors with constanst overflow.
E.g. the following will cause a compiler error:
const short x = 32767; // Max short value
const short y = 32767;
public static int myMethodUnch()
{
int z = (short)(x + y);
return z; // Returns -2
}
The following will not:
const short x = 32767; // Max short value
const short y = 32767;
public static int myMethodUnch()
{
int z = unchecked((short)(x + y));
return z; // Returns -2
}
Ques 19. Can assignment operators be overloaded directly?
No
Ques 20. What do operators is and as do?
as acts is like a cast but returns a null on conversion failure. Is comares an object to a
type and returns a boolean.
Ques 21. What is the difference between the new operator and modifier?
The new operator creates an instance of a class whereas the new modifier is used to
declare a method with the same name as a method in one of the parent classes.
Ques 22. Explain sizeof and typeof.
typeof obtains the System.Type object for a type and sizeof obtains the size of a type.
Ques 23. Contrast ++count vs. count++.
Some operators have temporal properties depending on their placement. E.g.
double x;
x = 2;
Console.Write(++x);
x = 2;
Console.Write(x++);
Console.Write(x);
Returns
323
Most helpful rated by users:
- Name 10 C# keywords.
- What is public accessibility?
- .NET Stands for?
- What is private accessibility?
- What is protected accessibility?
Related interview subjects
ASP interview questions and answers - Total 82 questions |
C# interview questions and answers - Total 41 questions |
LINQ interview questions and answers - Total 20 questions |
ASP .NET interview questions and answers - Total 31 questions |
Microsoft .NET interview questions and answers - Total 60 questions |