C# Interview Questions
Saturday, October 11th, 2008What’s the top .NET class that everything is derived from?
System.Object.
Does C# support multiple-inheritance?
No.
Who is a protected class-level variable available to?
It is available to any sub-class (a class inheriting this class).
Are private class-level variables inherited?
Yes, but they are not accessible. Although they are not visible or accessible via the class interface, they are inherited.
Describe the accessibility modifier “protected internal”?
It is available to classes that are within the same assembly and derived from the specified base class.
What does the term immutable mean?
The data value may not be changed. Note: The variable value may be changed, but the original immutable data value was discarded and a new data value was created in memory.
What’s a delegate?
A delegate object encapsulates a reference to a method.
What’s a multicast delegate?
A delegate that has multiple handlers assigned to it. Each assigned handler (method) is called.
Is XML case-sensitive?
Yes.
What’s the difference between // comments, /**/ comments and /// comments?
Single-line comments, multi-line comments, and XML documentation comments.
How do you generate documentation from the C# file commented properly with a command-line compiler?
Compile it with the /doc switch.
What’s the difference between System.String and System.Text.StringBuilder classes?
System.String is immutable. System.StringBuilder was designed with the purpose of having a mutable string where a variety of operations can be performed.
Can you store multiple data types in System.Array?
No.
What’s the advantage of using System.Text.StringBuilder over System.String?
StringBuilder is more efficient in cases where there is a large amount of string manipulation. Strings are immutable, so each time a string is changed, a new instance in memory is created.
Will the finally block get executed if an exception has not occurred?
Yes.
What’s the difference between the System.Array.CopyTo() and System.Array.Clone()?
The Clone() method returns a new array (a shallow copy) object containing all the elements in the original array. The CopyTo() method copies the elements into another existing array. Both perform a shallow copy. A shallow copy means the contents (each array element) contains references to the same object as the elements in the original array. A deep copy (which neither of these methods performs) would create a new instance of each element’s object,resulting in a different, yet identacle object.
How can you sort the elements of the array in descending order?
By calling Sort() and then Reverse() methods.
What’s the .NET collection class that allows an element to be accessed using a unique key?
HashTable.
What’s the C# syntax to catch any possible exception?
A catch block that catches the exception of type System.Exception. You can also omit the parameter data type in this case and just write catch {}.
Can multiple catch blocks be executed for a single try statement?
No. Once the proper catch block processed, control is transferred to the finally block (if there are any).
Explain the three services model commonly know as a three-tier application?
Presentation (UI), Business (logic and underlying code) and Data (from storage or other sources).
How does VB.NET/C# achieve polymorphism?
You can achive polymorphism by doing overloading and overwriting.
