Set - 1

Question 1 :

What's C# ?

Answer :

C# (pronounced C-sharp) is a new object oriented language from Microsoft and is derived from C and C++. It also borrows a lot of concepts from Java too including garbage collection.


Question 2 :

Is it possible to inline assembly or IL in C# code?

Answer :

No


Question 3 :

Is it possible to have different access modifiers on the get/set methods of a property?

Answer :

No. The access modifier on a property applies to both its get and set accessors. What you need to do if you want them to be different is make the property read-only (by only providing a get accessor) and create a private/internal set method that is separate from the property.


Question 4 :

Is it possible to have a static indexer in C#? allowed in C#.

Answer :

No. Static indexers are not


Question 5 :

If I return out of a try/finally in C#, does the code in the finally-clause run?

Answer :

Yes. The code in the finally always runs. If you return out of the try block, or even if you do a goto out of the try, the finally block always runs:

using System; 
class main{
	public static void Main(){
		try{
			Console.WriteLine(\"In Try block\");
			return;
		}
		finally{
			Console.WriteLine(\"In Finally block\");
		}
	}	
}

Both In Try block and In Finally block will be displayed. Whether the return is in the try block or after the try-finally block, performance is not affected either way. The compiler treats it as if the return were outside the try block anyway. If it's a return without an expression (as it is above), the IL emitted is identical whether the return is inside or outside of the try. If the return has an expression, there's an extra store/load of the value of the expression (since it has to be computed within the try block).