C# Interview Questions

What is C#?

C# is an object-oriented, type-safe, and managed language that is compiled by .NET framework to generate Microsoft Intermediate Language

Explain types of comment in C# with examples

Basically 3 types 1. Single line 2. Multiple Line and 3.XML Comments. Below are the examples

1. Single line(//)

//This is a single line comment

2. Multiple line (/* */)

/*This is a multiple line comment
We are in line 2
Last line of comment*/

3. XML Comments (///)

/// summary;
/// Set error message for multilingual language.

Can multiple catch blocks be executed?

No, Multiple catch blocks of similar type can’t be executed. Once the proper catch code executed, the control is transferred to the finally block, and then the code that follows the finally block gets executed.

C# Interview Questions

What is the difference between public, static, and void?

Public declared variables or methods are accessible anywhere in the application.

Static declared variables or methods are globally accessible without creating an instance of the class. Static member are by default not globally accessible it depends upon the type of access modified used. The compiler stores the address of the method as the entry point and uses this information to begin execution before any objects are created.

Void is a type modifier that states that the method or variable does not return any value.

What is an object?

An object is an instance of a class through which we access the methods of that class. “New” keyword is used to create an object.

A class that creates an object in memory will contain the information about the methods, variables, and behavior of that class.

Define Constructors?

A constructor is a member function in a class that has the same name as its class. The constructor is automatically invoked whenever an object class is created. It constructs the values of data members while initializing the class.

Advance C# Interview Questions

What is Jagged Arrays?

The Array which has elements of type array is called jagged Array. In simple words an array of arrays is called jagged Array. The elements can be of different dimensions and sizes.

What is the difference between ref & out parameters?

An argument passed as ref must be initialized before passing to the method whereas out parameter needs not to be initialized before passing to a method. Similarly a ref doesn’t require to be assigned before returning from method but its mandatory to assign out parameter.

What is the use of ‘using’ statement in C#?

The ‘using’ block is used to obtain a resource and process it and then automatically dispose of when the execution of the block completed

C# Interview Questions

Can we use “this” command within a static method?

No. We can’t use ‘this’ in a static method because we can only use static variables/methods in a static method.

What is an interface class? Give one example of it.

An Interface is an abstract class which has only public abstract methods, and the methods only have the declaration and not the definition. These abstract methods must be implemented in the inherited classes.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
 interface TestInterface
  void SetTutorial(int pID, string pName);
  String GetTutorial();

 class TestTutorial : TestInterface
  protected int TutorialID;
  protected string TutorialName;

  public void SetTutorial(int pID, string pName)
   TutorialID = pID;
   TutorialName = pName;

  public String GetTutorial()
   return TutorialName;

  static void Main(string[] args)
   TestTutorial pTutor = new TestTutorial();

   pTutor.SetTutorial(1,".Net interviews by MeMute");



What are value types and reference types?

A value type holds a data value within its own memory space.


int a = 30; //Here value is directly stored in ‘a’ variable
Reference type stores the address of the Object where the value is being stored. It is a pointer to another memory location


object a=30;// Here ‘a’ value is stored in heap and only location of that heap is stored in ‘a’ variable.

Advance C# Interview Questions

What are sealed classes in C#?

We create sealed classes when we want to restrict the class to be inherited. Sealed modifier used to prevent derivation from a class. If we forcefully specify a sealed class as base class, then a compile-time error occurs.

What is method overloading?

Method overloading is creating multiple methods with the same name with unique signatures in the same class. When we compile, the compiler uses overload resolution to determine the specific method to be invoke.

What is the difference between Array and Array List?

In an array, we can have items of the same type only. The size of the array is fixed when compared to an Array List. An Array List is similar to an array, but it doesn’t have a fixed size. Array List is also non generic type meaning it can hold any data type unlike Array.

C# Interview Questions

Can a private virtual method can be overridden?

No, because they are not accessible outside the class.

Describe the accessibility modifier “protected internal”.

Protected Internal variables/methods are accessible within the same assembly and also from the classes that are derived from this parent class.

What are the differences between System. String and System. Text. String Builder classes?

System. String is immutable. When we modify the value of a string variable, then a new memory is allocated to the new value and the previous memory allocation released.

On the other hand System. String Builder was designed to have a concept of a mutable string where a variety of operations can be performed without allocation separate memory location for the modified string.(In simple we can modify existing string instead of replacing)

Advance C# Interview Questions

What’s the difference between the System. Array. Copy To() and System. Array. Clone() ?

Using Clone() method, we creates a new array object containing all the elements in the original Array and using Copy To() method. All the elements of existing array copies into another existing array. Both methods perform a shallow copy.

How can we sort the elements of the Array in descending order?

Using Sort() methods followed by Reverse() method.

Write down the C# syntax to catch an exception?

To catch an exception, we use try-catch blocks. Catch block can have a parameter of system.Exception type.


try {
catch (Exception ex) {
In the above example, we can omit the parameter from catch statement.

C# Interview Questions

What’s the difference between an interface and abstract class?

Interfaces have all the methods having only declaration but no definition. In an abstract class, we can have some concrete methods. In an interface class, all the methods are public. An abstract class may have private methods.

What is the difference between Finalize() and Dispose() methods?

Both Dispose() and Finalize() are called when we want for an object to release any unmanaged resources with them. Dispose() is invoked manually whereas Finalize() is invoked by garbage collector. Dispose() is faster compared to Finalize().

What are circular references?

Circular reference is situation in which two or more resources are interdependent on each other causes the lock condition and make the resources unusable

Advance C# Interview Questions

What are generics in C#.NET?

Generics are used to make reusable code classes to decrease the code redundancy, increase type safety, and performance. Using generics, we can create collection classes. To create generic collection, System. Collections. Generic namespace should be used instead of classes such as Array List in the System. Collections namespace. Generics promotes the usage of parameterized types.

What is an object pool in .NET?

An object pool is a container having objects ready to be used. It tracks the object that is currently in use, total number of objects in the pool. This reduces the overhead of creating and re-creating objects.

List down the commonly used types of exceptions in .net

Argument Exception, Argumen NullException , Argument OutOfRangeException, ArithmeticException, DivideByZeroException ,OverflowException , IndexOutOfRangeException ,InvalidCastException ,InvalidOperationException , IOEndOfStreamException , NullReferenceException , OutOfMemoryException , StackOverflowException etc.

C# Interview Questions

What are Custom Exceptions?

Sometimes there are some errors that need to be handled as per user requirements. Custom exceptions are used for them and are used defined exceptions.

What is delegates?

Delegates are same are function pointers in C++, but the only difference is that they are type safe, unlike function pointers. Delegates are required because they can be used to write much more generic type-safe functions.

How do you inherit a class into other class in C#?

Colon is used as inheritance operator in C#. Just place a colon and then the class name.

public class Derived Class : Base Class

Advance C# Interview Questions

What is the difference between method overriding and method overloading?

In method overriding, we change the method definition in the derived class that changes the method behavior.

Method overloading is creating a method with the same name within the same class having different signatures.

Why can’t you specify the accessibility modifier for methods inside the interface?

In an interface, we have virtual methods that do not have method definition. All the methods are there to be overridden in the derived class. That’s why they all are public.

How can we set the class to be inherited, but prevent the method from being over-ridden?

Declare the class as public and make the method sealed to prevent it from being overridden.

C# Interview Questions

What is the difference between a Struct and a Class?

Structs are value-type variables, and classes are reference types. Structs stored on the Stack causes additional overhead but faster retrieval. Structs cannot be inherited.

How to use nullable types in .Net ?

Value types can take either their normal values or a null value. Such types are called nullable types.

How we can create an array with non-default values?

We can create an array with non-default values using Enumerable. Repeat.

Advance C# Interview Questions

What is difference between “is” and “as” operators in c#?

“is” operator is used to check the compatibility of an object with a given type, and it returns the result as Boolean.

“as” operator is used for casting of an object to a type or a class.

What’s a multicast delegate?

A delegate having multiple handlers assigned to it is called multicast delegate. Each handler is assigned to a method.

What is difference between the “throw” and “throw ex” in .NET?

“Throw” statement preserves original error stack whereas “throw ex” have the stack trace from their throw point. It is always advised to use “throw” because it provides more accurate error information.

C# Interview Questions

What are C# attributes and its significance?

C# provides developers a way to define declarative tags on certain entities, eg. Class, method, etc. are called attributes. The attribute’s information can be retrieved at runtime using Reflection.

What is the difference between direct cast and c type?

Direct Cast is used to convert the type of object that requires the run-time type to be the same as the specified type in Direct Cast.

Ctype is used for conversion where the conversion is defined between the expression and the type.

What is Console application?

A console application is an application that can be run in the command prompt in Windows. For any beginner on net, building a console application is ideally the first step, to begin with.

Advance C# Interview Questions

C# Part 2C# Part 3
Back to top