C# Interview Questions

Showing Questions 1 - 20 of 28 Questions
First | Prev | Next | Last Page
Sort by: 
Jump to Page:

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

    S Manasa

    • Jul 8th, 2019

    Generally, the access modifier of the property is considered as the access modifier of both the accessors if no access modifier is specified for the accessors. Only one of the accessor can be specifi...


    Divide Two Numbers Without Using Division and Modulus Operator

    Write C# code to divide two numbers without using the division and modulus operator


    • Feb 18th, 2019

    Keep on subtracting divisor from dividend until dividend is 0 and return the count as quotient.

    Pushpa Sundar

    • Mar 16th, 2018

    "java import java.util.Scanner; public class Divition { public static void main(String[] args) { Scanner scn=new Scanner(System.in); System.out.println("Enter the Divi...


    Advantage of avl tree over binary search tree.

    What is advantage using avl tree instead of using binary search tree ?


    • Nov 23rd, 2016

    In BST, the time complexity of search operation (average case) is taken to be O(log n). But in the worst case, i.e the degenerate trees/skewed trees time complexity of search operation is O(n) which c...


    • Sep 8th, 2015

    Better search times for keys


    How to upload a file in c# console application

    sandya Kolipaka

    • Nov 10th, 2016

    Static void Main(string[] args)
    var wc = new WebClient();
    byte[] response = wc.UploadFile("http:// mysite . com/Tests/Test", "POST", "teste.xml");
    string s = System.Text.Encoding.ASCII.GetString(response);


    • Feb 15th, 2007

    Use System.Net.WebClient Class use UploadFile method provided by the class. It accepts the Uri or string as destination and another parameter as location of file to be uploaded.


    How do I create a Delegate/MulticastDelegate?

    C# requires only a single parameter for delegates: the method address. Unlike other languages, where the programmer must specify an object reference and the method to invoke, C# can infer both pieces of information by just specifying the method's name. For example, let's use System.Threading.ThreadStart: Foo MyFoo = new Foo();ThreadStart del = new ThreadStart(MyFoo.Baz);This means that delegates can...

    Star Read Best Answer

    Editorial / Best Answer

    Answered by: Raghu

    • Sep 29th, 2005

    This article is good.


    In this article I am going to share my knowledge on Delegates in C#.This would explain the Delegate using simple examples so that the beginner can understand the same.

    What is Delegate?


    Delegate is type which  holds the method(s) reference in an object.
    it is also reffered as a type safe function pointers.

    .Encapsulating the method's call from caller
    .Effective use of Delegat improves the performance of application.
    .used to call a method asynchronously.


    public delegate type_of_delegate delegate_name()

    Example : public delegate int mydelegate(int delvar1,int delvar2)

    .you can use delegeate without parameter or with parameter list
    .you should follow the same syntax as in the method
    (if you are reffering the method with two int parameters and int return type the delegate which you are declaring should be the same format.This is how it
    is reffered as type safe function pointer)

    Sample Program using Delegate :

    public delegate double Delegate_Prod(int a,int b);

    class Class1

    static double fn_Prodvalues(int val1,int val2)
    return val1*val2;
    static void Main(string[] args)

    //Creating the Delegate Instance
    Delegate_Prod delObj = new Delegate_Prod(fn_Prodvalues);

    Console.Write("Please Enter Values");

    int v1 = Int32.Parse(Console.ReadLine());
    int v2 = Int32.Parse(Console.ReadLine());

    //use a delegate for processing

    double res = delObj(v1,v2);
    Console.WriteLine ("Result :"+res);



    Here I have used a small program which demonstrates the use of delegate.

    The delegate "Delegate_Prod" is declared with double return type and which accepts only two integer parameters.

    Inside the Class the method named fn_Prodvalues is defined with double return type and two integer parameters.(The delegate and method is having the same signature and parameters type)

    Inside the Main method the delegate instance is created and the function name is passed to the
    delegate instance as following.

    Delegate_Prod delObj = new Delegate_Prod(fn_Prodvalues);

    After this we are accepting the two values from the user and passing those values to the delegate as we do using method .


    Here  delegate object encapsulates the method functionalities and return the result as we specified
    in the method.

    Multicast Delegate

    What is Multicast Delegate? :
    It is a Delegate which holds the reference of more than one methods.
    Multicast delegates must contain only methods that return void, else there is a run-time exception.

    Simple Program using Multicast Delegate

    delegate void Delegate_Multicast(int x, int y);

    Class Class2

    static void Method1(int x, int y) {
     Console.WriteLine("You r in Method 1");
    static void Method2(int x, int y) {
     Console.WriteLine("You r in Method 2");
    public static void Main()
     Delegate_Multicast func = new Delegate_Multicast(Method1);

     func += new Delegate_Multicast(Method2);
     func(1,2);             // Method1 and Method2 are called
     func -= new Delegate_Multicast(Method1);
     func(2,3);             // Only Method2 is called



    In the above example you can see that two methods are defined named method1 and method2 which takes two integer parameters and return type as void.

    In the main method the Delegate object is created using the following statement

    Delegate_Multicast func = new Delegate_Multicast(Method1);

    Then the Delegate is added using the += operator and removed using -= operator.

    Naveen Kumar Shivanadri

    • Sep 8th, 2016

    Delegate is not type. It is just pointer method which is used to improve the performance. Suppose we want to execute a method 10 times by using calling method by using class name or instance, 10 time...

    Rajesh Muurya

    • Aug 9th, 2016

    I have some doubt.
    Raghus Says: Delegate is type which holds the method(s) reference in an object.
    My question is if Delegate is type then how we create a object of delegate? Because, we know that we can create object only struct and class.


    How do you make a class not instantiable

    A) Making class as AbstractB) Having a Private constructorC) Making the class sealedD) Both A & B

    Naveen Kumar Shivanadri

    • Sep 8th, 2016

    Answer is A is always correct and B is also correct only the situation when the class does not have the static methods on it (in the question, there is no mentioned that there is no static method in it)
    So, only A is correct answer.

    Naveen Kumar Shivanadr.


    • Oct 13th, 2015

    Making class as Abstract


    Second maximum number

    how to find out second maximum number in C#?

    Roger Hyde

    • Feb 6th, 2016

    Linq makes this quite simple

    1. int GetSecondMax(int[] numbers)
    2. {
    3.         return numbers.Distinct().OrderByDescending(n => n).Skip(1).Take(1).FirstOrDefault();
    4. }


    Object Oriented and Object Based Language

    Explain What are Object Oriented Language and Object Based Language

    Star Read Best Answer

    Editorial / Best Answer


    • Member Since Dec-2008 | Dec 10th, 2008

    Any langauge based on encapsulation concpet and operations with the objects are called as Object Based language. Exmaple : VB is a Object based and not an Object oriented

    Any langauge based on encapsulation concept and operations with the objects and also dealing with the inheritance and polymorphism are called as Object Oriented language. Exmaple : C++,C#

    Arpit Mandloi

    • Nov 25th, 2015

    Object Based languages: 1. Object-based language doesn't support all the features of OOPs like Polymorphism and Inheritance 2. Object-based language has in-built object like JavaScript has window obje...


    Why strings are immutable?


    • Apr 20th, 2012

    People, please read the question before answering, don't just answer "Why" is the question - not "how".


    Reference variable of Interface

    It is possible to create the reference variable of an Interface which is 100% abstract in nature.Then why it is not possible to create a reference of an Abstract class?


    • Apr 19th, 2015

    It is possible "c# class Program { static void Main(string[] args) { MyBase b = new Derived(); Hocky h = new Hocky(); ...


    • Feb 8th, 2015

    This is the limitation of Abstract Keyword in C#.


    C# Data Table Multiple Rows

    You have multiple rows in C# data table and you have to save it in database using just one call, How will you do it?

    Star Read Best Answer

    Editorial / Best Answer


    • Member Since Nov-2011 | Nov 5th, 2011

    In a typical multiple-tier implementation, the steps for creating and refreshing a DataSet, and in turn, updating the original data are to: 1. Build and fill each DataTable in a DataSet with data from a data source using a DataAdapter. 2. Change the data in individual DataTable objects by adding, updating, or deleting DataRow objects. 3. Invoke the GetChanges method to create a second DataSet that features only the changes to the data. 4. Call the Update method of the DataAdapter, passing the second DataSet as an argument. 5. Invoke the Merge method to merge the changes from the second DataSet into the first. 6. Invoke the AcceptChanges on the DataSet. Alternatively, invoke RejectChanges to cancel the changes.


    • Apr 10th, 2015



    • Jan 22nd, 2015

    We can use SqlBulkCopy class here for example

    1. SqlBulkCopy  bulkCopy=new SqlBulkCopy  (sqlconn);
    2.  bulkCopy.DestinationTableName = "dbtablename";
    3.  bulkCopy.WriteToServer(datatable);


    What are constructors in .Net

    Abinash Dinakaran

    • Dec 22nd, 2014

    Constructors are the member functions which has same name as class name. Constructors are used to initialize a value for a variable so that we can be able to avoid junk values thrown to a variable.


    • Sep 24th, 2014

    Constructor is the special type of methods, which is called when we crate the object for the class.
    Constructor will have same name as class name.
    overloaded constructor can also be there.


    In a multilevel hierarchy how are the constructors are called

    A) TopDownB) BottomUpC) None


    • Aug 31st, 2014

    TOPDOWN is the correct answer. Always base class constructor is called before a sub-class constructor gets called. So, if a class is higher in the class hierarchy, then it will always get called be...


    • Aug 14th, 2014

    "c# class Program { public class BaseClass { public BaseClass() { Console.WriteLine("Base class constructor"); ...


    Advantages of static class over class ?

    When to use static class and when to use normal class ?


    • Aug 31st, 2014

    WHEN SHOULD WE DO THIS: When we have a normal class and its methods being used very frequently in a given app, then it would speed up things if we made this class a static class with static methods. T...


    • Aug 19th, 2014

    A static class can make your implementation simpler and faster because you do not have to create an object in order to invoke its methods. It is useful to organize the methods inside the class in a meaningful way, such as the methods of the Math class in the System namespace.


    The following code fails. Why?

    int a = 5; int b = 5; object oa = a; object ob = b; Debug.Assert(oa == ob, "oa is not equal ob");


    • Oct 17th, 2013

    Given code fails bcoz. debug result is wrong.. Please see below int a = 5; int b = 5; object oa = a; object ob = b; Debug.Assert(oa != ob...


    Following are the collections in C#:

    Skill/Topic: AdvancedA) structsB) enumC) dictionariesExplanation: Ans. b & c. a isn’t a collection .

    Star Read Best Answer

    Editorial / Best Answer


    • Member Since Nov-2011 | Nov 5th, 2011

    All collections directly or indirectly should implement the ICollection interface or the ICollection(Of T) generic interface. If you check System.Array you will see ICollection interface in there. Correct answer is C, it doesn't matter that there are methods that can provide arrays of Names and Values. Because if you are reasoning like this, it means bject.ToString().ToCharArray() cause all classes are being collections.


    • Nov 5th, 2011

    All collections directly or indirectly should implement the ICollection interface or the ICollection(Of T) generic interface. If you check System.Array you will see ICollection interface in there. Co...


    Any process can be divided into multiple

    Skill/Topic: AdvancedA) ProgramsB) ThreadsC) Application domains

    Star Read Best Answer

    Editorial / Best Answer


    • Member Since Nov-2011 | Nov 5th, 2011

    Application domains are typically created by runtime host( i.e. Windows process/program). Application domains provide an isolation boundary for security,.... .NET program is an Assembly loading into an Application domain. Threads are the operating system construct used by the common language runtime to execute code in Application domains. Therefore, for .NET, Process (runtime host) -> Application Domains -> Assemblies (.NET programs)-> Managed Threads.


    • Mar 25th, 2012

    App domains. This could be best understood by taking an example of a browser program. A browser may run multiple web applications simultaneously. All these could be run in separate app domains. So, i...


    Describe the accessibility modifier protected internal.

    It is available to derived classes and classes within the same Assembly (and naturally from the base class it is declared in).


    • Jul 29th, 2011

    Protected Internal Mean its a combination of Protected and Internal access modifier, Protected Internal member can be access from same assembly as well as only derived class l in another assembly.


    • Jan 9th, 2006

    Ans:protected internal is available to derived classes and classes within the same Assembly (and naturally from the base class it is declared in). function checkf(form) { var f = document.form1;if (document.form1.cmt.value=='') { alert('Please enter the comment'); return false; }}


    Default Access Specifer

    What is default access specifer of a class in C#? Is it internal or private?class foo{ int Var; }In the above code snippet. What is the default access specifier for the variable Var.

    Star Read Best Answer

    Editorial / Best Answer


    • Member Since Jul-2010 | Jul 16th, 2010

    Default Access Specifier of a class is Internal and Default Access Specifier of Member Variable is Private


    Which of the following is not a C# reserved keyword

    A) IsB) AsC) InD) Of

Showing Questions 1 - 20 of 28 Questions
First | Prev | Next | Last Page
Sort by: 
Jump to Page: