Sunday, August 9, 2009

C# Questions

  • Does C# support multiple-inheritance?


  • 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’s the top .NET class that everything is derived from?


  • 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 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.

  • 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

  • Can you store multiple data types in System.Array?


  • 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?


  • What class is underneath the SortedList class?

A sorted HashTable.

  • Will the finally block get executed if an exception has not occurred?­


  • 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).