C# Interview Questions

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

    ByteArray Class

    Write a class called ByteArray that implement allocating, reading and writing to an array of bytes. The runtime environment has a limitation. The maximum continuous memory size that it can allocated is 64k bytes. It can allocate many 64K ( or less) chunks. The ByteArray class should hide this limitation and support allocating arrays larger than 64K as in the following example :ByteArray ba = new ByteArray...


    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.


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


    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


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


    Which statement is invalid with regards to Constant

    A) They must be initialized when they are declaredB) The value of the constant must be computable at compile timeC) Constants are not staticD) Constant is a variable whose value can be changed through out it’s life time when it is static.


    • May 25th, 2011

    Statement D is definitely invalid. Statement C occupies a grey area, since:a) a const field will have the same value in each object of that class; so it appears to? have same effect as a static reado...


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


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


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


    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


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


    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.


    What is the difference between const and static read-only?

    The difference is that static read-only can be modified by the containing class, but const can never be modified and must be initialized to a compile time constant. To expand on the static read-only case a bit, the containing class can only modify it:-- in the variable declaration (through a variable initializer).-- in the static constructor (instance constructors if it's not static).

    Star Read Best Answer

    Editorial / Best Answer

    Answered by: Eddie Quiroz

    • Sep 3rd, 2005

    A const must be initialized at the time of its creation. A readonly field can be assigned to once in the class constructor allowing you to pass in the value at run-time. Declaring fields as const protects both you and other programmers from accidentally changing the value of the field. Also note that with const fields, the compiler performs some optimization by not declaring any stack space for the field. The readonly keyword is similar to const, with two exceptions. First, the storage of a readonly field is the same as a regular read-write field, and thus there is no performance benefit. Secondly, readonly fields can be initialized in the constructor of the containing class.


    • Apr 7th, 2009

    As static read-only variables must be initialized in the static constructor (static constructor cannot have parameters and it cannot be called manually), it is efficient to used const variables over static read-only variables if you know the values at creation of these variables.


    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.

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