Top 52 C# Interview Questions and Answers

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

What's the 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

What are the different ways a method can be overloaded?

Methods can be overloaded using different data types for a parameter, different order of parameters, and different number of parameters

Can a private virtual method be overridden?

No, because they are not accessible outside of the class.

Can multiple catch blocks be executed?

No, multiple catch blocks cannot be executed. Once the proper catch code is executed, the control is transferred to the finally block, and then the code that follows the finally block gets executed

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 its parent class

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 members are by default not globally accessible -- it depends upon the type of access modifier 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

Explain types of comment 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 (///) /// summary; /// Set error message for multilingual language. /// summary

What are custom exceptions?

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

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

What is the base class in .net from which all of the classes are derived from?

System.Object

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

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 refer to a jagged array as an Array of arrays.

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.

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.

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 the 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 class

What are value types and reference types?

A value type holds a data value within its own memory space. Example: int a = 30; Reference type stores the address of the Object where the value is being stored. It is a pointer to another memory location. Example: string b = "Hello Guru99!!"; The built-in reference types supported by C# include: object, string, and dynamic. All fundamental data types (boolean, date, structs, and enums) and examples of value types. Examples of reference types include: strings, arrays, objects of classes, etc.

What is the difference between ref and out parameters?

An argument passed as a ref must be initialized before passing to the method whereas out parameter does NOT need to be initialized before passing to a method.

What is an interface class? Give on 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 Guru99Interface { void SetTutorial(int pID, string pName); String GetTutorial(); } class Guru99Tutorial : Guru99Interface { 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) { Guru99Tutorial pTutor = new Guru99Tutorial(); pTutor.SetTutorial(1, ".Net by Guru99"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }

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.

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

ArgumentException, ArgumentNullException, ArgumentOutOfRangeException, ArithmeticException, DivideByZeroException, OverflowException, IOEndOfStreamException, NullReferenceException, OutOfMemoryException, StackOverflowException, etc

What is C#?

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

Is C# code managed or unmanaged code?

C# is managed code because Common language runtime can compile C# code to intermediate language

What are C# attributes and its significance?

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

What are circular references?

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

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

Colon is used as an inheritance operator in C#. Just place a colon and then the class name. public class DerivedClass : BaseClass

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 is used only when we want to assign the value at run time.

What are Custom Control and User Control?

Custom Controls are controls generated as compiled code (DIIs), those are easier to use and can be added to toolbox. Developers can drag and drop controls to their web forms. Attributes can, at design time. We can easily add custom controls to multiple applications (if shared DIIs). So, if they are private, then we can copy to dll to bin directory of web application and then add reference and can use them. User controls are very 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. ** Not quite sure what this is getting at -- definitely do some studying up on these concepts!

What are delegates?

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

What is the difference between directcast and ctype?

DirectCast is used to convert the type of object that requires the runtime type to be the same as the specified type in DirectCast Ctype is used for conversion where the conversion is defined between the expression and the type.

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

Dispose() is called when we want for an object to release any unmanaged resources with them. On the other hand, Finalize() is used for the same purpose, but it doesn't assure the garbage collection of an object.

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 ArrayList in the System.Collections namespace. Generics promotes the usage of parameterized types.

What happens if the inherited interfaces have conflicting method names?

Implement is up to you as the method is inside your own class. There might be a problem when the methods from different interfaces expect different data, but as far as compiler cares you're okay

How to implement a singleton design pattern in C#?

In a singleton pattern, a class can only have one instance and provides and access point to it globally Public sealed class Singleton { Private static readonly Singleton _instance = new Singleton(); }

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 when compared. To an arraylist is similar to an array, but it does not have fixed size.

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 is why they are all public.

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

What are the indexers in C# .NET

Indexers are known as smart arrays in C#. It allows the instances of a class to be indexed in the same way as an array. public int this[int index] //Indexer declaration

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.

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 C# used for?

It is the competitor to Java, created by Microsoft. It is primarily used to create Microsoft applications. It is free, but Visual Studio IDE is not free.

Give an example of removing an element from a queue

The dequeue method is used to remove an element from the queue using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Queue qt = new Queue(); qt.Enqueue(1); qt.Enqueue(2); qt.Enqueue(3); foreach (Object obj in qt) { Console.WriteLine(obj); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("The number of elements in the Queue " + qt.Count); Console.WriteLine("Does the Queue contain " + qt.Contains(3)); } } }

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 { GetAllData(); } catch (Exception ex) { } In the above example, we can omit the parameter from catch statement

What is the difference between the System.Array.CopyTo() and System.Array.Clone()?

Using Clone() method, we create a NEW array object containing all of the elements in the original Array. Using the CopyTo() method all of the 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

How to use nullable types in .Net?

Variable types can take either their normal values or a null value. Such types are called nullable types Int? someID = null; If(someID.HasValue) { }

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

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

Can we use "this" command within static method?

We can't because we can only use static variables/methods in a static method.

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

When we want to transport an object through a 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 implement ISerialize Interface. De-serialization is the reverse process of creating an object from a stream of bytes.

C# vs C++

While C++ is an object-oriented language, C# is considered a component-oriented programming language. ... C++ compiles into machine code, while C# compiles to CLR, which is interpreted by ASP.NET. C++ requires you to handle memory manually, but C# runs in a virtual machine which can automatically handle memory management.

Take Quiz!

https://www.guru99.com/c-sharp-interview-questions.html


Kaugnay na mga set ng pag-aaral

Project Management Software Exam 2

View Set

Missed questions on Guarantee Exam

View Set

Virology Test 2: Short Answer and some multiple choice

View Set

Series 65 Unit 21 Exam Questions

View Set

weathering and erosion,soil, and mass movements.

View Set

Acct. Ch 2 Managerial Accounting & Cost Concepts

View Set