In this post, we have listed down 25 c# interview questions and their answers. We will be coming up with more practical C# interview questions and answers asked during the interview.
Topics Covered
Introduction
C# is a general-purpose, object-oriented programming language. The most recent stable version (at the time of writing this post) is C# 8.0 which was released on September 23, 2019.
C# Interview Questions for Beginners – 1
Hence, we have compiled a list of c# interview questions and their answers for beginners as well as experienced users. These questions will help you to prepare for the interviews, for quick revision and provide strength to your technical skills.
What is C#?
C# (pronounced as CSharp) is an object-oriented, type-safe and managed language that is compiled by .NET Framework to generate Microsoft Intermediate Language (MSIL).
What are the types of comments in C# with examples?
- Single line
//This is a Single line comment
- Multiple line (/* */)
/*This is a multiple line comment
We are in line 2 Last line of comment*/
- XML Comments (///)
/// These comments can be used to briefly
/// describe a class,
/// method, interface or any other entity.
Can multiple catch blocks be executed?
No. Multiple catch
blocks 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.
What is the difference between public, static and void?
All these are access/type modifiers in C#.
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. 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 which 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 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.public
class
Employee
{
int
empid;
string
empName;
public
Employee(int
a , string
e)
{
empid = a;
empName = e;
}
}
What are Jagged Arrays?
The array which has elements of type array
is called jagged array. The elements can be of different dimensions and sizes. We can also call jagged array as Array of arrays.
// Declare the array of two elements:
int[][] arr = new
int[2][];
// Initialize the elements:
arr[0] = new
int[5] { 1, 3, 5, 7, 9 };
arr[1] = new
int[4] { 2, 4, 6, 8 };
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.
What is the use of using statement in C#?
The using
block is used to obtain a resource and use it and then automatically dispose of when the execution of block completed.
What is serialization?
When we want to transport an object through network then we have to convert the object into a stream of bytes. The process of converting an object into a stream of bytes is called Serialization. For an object to be serializable, it should inherit ISerialize
Interface.
De-serialization is the reverse process of creating an object from a stream of bytes.
Can ‘this’ keyword be used within a static method?
We can’t use this
in a static method because we can only use static variables/methods in a static method.
What is the difference between constants and read-only?
Constant variables are declared and initialized at compile time. The value can’t be changed afterward.
Read-only variables will be initialized only from the Static constructor of the class. Read-only is used only when we want to assign the value at run time.
C# Interview Questions for Beginners – 2
Tell us something about the interface?
interface
is an abstract class which has public
abstract methods. The methods only have a declaration and not the definition. These abstract methods must be implemented in the inherited classes.
public interface IEmployee { public void getEmployeeDetails(); public void getEmployeeById(int id); }
What are value types and reference types?
Value types are stored in the Stack whereas, reference types stored on Heap.
Value types:
int, enum , byte, decimal, double, float, long
Reference Types:
string , class, interface, object
What are Custom Control and User Control?
Custom Controls are controls generated as compiled code (DLLs), those are easier to use and can be added to toolbox. Developers can drag and drop controls to their web forms. Attributes can be set at design time. We can easily add custom controls to Multiple Applications (If Shared DLLs), If they are private then we can copy the DLL to bin directory of web application and then add a reference to use them.
User Controls are very much similar to ASP include files, and are easy to create. User controls can’t be placed in the toolbox and dragged – dropped from it. They have their design and code behind. The file extension for user controls is ascx. They serves the purpose of re-usability.
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.
sealed class Person { // this is a sealed class and cannot be inherited. }
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 invoked.
Method overloading = Same name, different arguments
What is the difference between Array and ArrayList?
In an array
, we can have items of the same type only. The size of the array is fixed. An ArrayList
is similar to an array
but it doesn’t have a fixed size.
Can a private virtual method be overridden?
No. The reason being private virtual methods 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.StringBuilder 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. System.StringBuilder
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.
What’s the difference between the System.Array.CopyTo() and System.Array.Clone()?
Using Clone()
method, we create a new array object containing all the elements in the original array.
With CopyTo()
method, all the elements of existing array copies into another existing array.
Both the methods perform a shallow copy.
How can we sort the elements of the array in descending order?
Sort()
method followed by Reverse()
method can help to sort the elements of an array in descending order.
Write down the C# syntax to catch an exception?
To catch an exception, we use try - catch
blocks. Catch block can have parameter of System.Exception
type.
try { GetDotnetCrunchAuthors(); } catch(Exception ex) { }
The parameter ‘ex‘ from catch
statement can be skipped as well. It is not mandatory to include it.
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, all the methods are public
. An abstract class may have private
methods.
We hope that you like the above-listed c# interview questions.
You might also like the post on the List of c# new features version by version
C# Mastery – Mosh Hamedani
One of the best courses to master your C# skills right from level zero. This series is divided into 4 sections:
- C# Basics
- C# Intermediate
- C# Advanced
- Unit Testing for C# Developers
All the best for your preparation & Happy Interviewing!
You can also share this list of 25 c# interview questions and answers with your friends with the help of the below-sharing options.
Pingback: 20 TypeScript Interview Questions For Beginners - DotNetCrunch