- TopBar
Information Technology Systems & Solutions
Shrivv Inc.
British Columbia, Canada
Phone: 236-885-5806
- Shrikant Profile
Current Page
User Name
Email Address
User Role
- Shrikant Profile

C# Common Interfaces: (There are many but some are here)


- System.Web.IHttpHandler
- System.Web.IHttpModule
- System.Data.IDataAdaptor
- System.Security.Principal.IIdentity
- System.Configuration.IApplicationSettingsProvider
- System.XML.Seralization.IXMLSeralizable

C# Sealed Class:


- System.string
- System.Data.SqlClient.SqlCommand
- System.Web.HttpRequest
- System.XML.XMLReaderString
- System.Net.Cookies
- System.IO.InvalidDataException

C# Abstract Class:


- System.Data.Command.Dbcommand
- System.Diagnostic.Switch
- System.Net.WebRequest
- System.Xml.XmlNode
- System.Xml.XmlReader
- System.Security.Cryptography.Aes

C# Static Class:


- System.Math
- System.Convert
- System.Net.Dns
- System.Linq.Enumerable
- System.Web.SiteMap
- System.Web.SessionState.SessionStateUtility
- System.Web.Configuration.WebConfigurationManager

Statements in C#:


- Block
- Declare
- Expression
- Selection
- Iteration
- Jump
- Try Catch
- Checked and Unchecked
- Lock

Definitions:


What are the types of comment in C#?
There are 3 types of comments in C#.
• Single line (//)
• Multi (/* */)
• Page/XML Comments (///).


3. What are the namespaces used in C#.NET?


Namespace is a logical grouping of class.
• using System;
• using System.Collections.Generic;
• using System.Windows.Forms;


4. What are the characteristics of C#?


• There are several characteristics of C# are :
• Simple
• Type safe
• Flexible
• Object oriented
• Compatible
• Consistent
• Interoperable
• Modern


5. How does C# differ from C++?


• C# does not support #include statement. It uses only using statement.
• In C# , class definition does not use a semicolon at the end.
• C# does not support multiple code inheritance.
• Casting in C# is much safer than in c++.
• In C# switch can also be used on string values.
• Command line parameters array behave differently in C# as compared to C++.


6. What are the basic concepts of object oriented programming?


• It is necessary to understand some of the concepts used extensively in object oriented programming.These include
• Objects
• Classes
• Data abstraction and encapsulation
• Inheritance
• Polymorphism
• Dynamic Binding
• Message passing.


7. Can you inherit multiple interfaces?


Yes. Multiple interfaces may be inherited in C#.


8. What is inheritance?


Inheritance is deriving the new class from the already existing one.


9. Define scope?


Scope refers to the region of code in which a variable may be accessed.


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


• public :The keyword public is an access modifier that tells the C# compiler that the Main method is accessible by anyone.
• static :The keyword static declares that the Main method is a global one and can be called 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 : The keyword void is a type modifier that states that the Main method does not return any value.


11. What are the modifiers in C#?


• Abstract
• Sealed
• Virtual
• Const
• Event
• Extern
• Override
• Readonly
• Static
• New


12. What are the types of access modifiers in C#?


Access modifiers in C# are :
• public
• protect
• private
• internal
• internal protect


13. What is boxing and unboxing?


• Implicit conversion of value type to reference type of a variable is known as BOXING, for example integer to object type conversion.
• Conversion of reference type variable back to value type is called as UnBoxing.


14. What is object?


An object is an instance of a class. An object is created by using operator new. A class that creates an object in memory will contain the information about the values and behaviours (or methods) of that specific object.


15. Where are the types of arrays in C#?


• Single-Dimensional
• Multidimensional
• Jagged arrays.



16. What is difference between Object and Instance?


An instance of a user-defined type is called an object. We can instantiate many objects from one class. An object is an instance of a class.


17. Define destuctors?


A destructor is called for a class object when that object passes out of scope or is explicitly deleted. A destructors as the name implies is used to destroy the objects that have been created by a constructors. Like a constructor, the destructor is a member function whose name is the same as the class name but is preceded by a tilde.


18. What is the use of enumerated data type?


An enumerated data type is another user defined type which provides a way for attaching names to numbers thereby increasing comprehensibility of the code. The enum keyword automatically enumerates a list of words by assigning them values 0,1,2, and so on.


19. Define Constructors?


A constructor is a member function with the same name as its class. The constructor is invoked whenever an object of its associated class is created. It is called constructor because it constructs the values of data members of the class.


20. What is encapsulation?


The wrapping up of data and functions into a single unit (called class) is known as encapsulation. Encapsulation containing and hiding information about an object, such as internal data structures and code.


21. Does C# support multiple inheritance?


No, it’s impossible which accepts multi level inheritance.


22. What is ENUM?


Enum are used to define constants.


23. What is a data set?


A DataSet is an in memory representation of data loaded from any data source.


24. What is the difference between private and public keyword?


Private: The private keyword is the default access level and most restrictive among all other access levels. It gives least permission to a type or type member. A private member is accessible only within the body of the class in which it is declared.
Public: The public keyword is most liberal among all access levels, with no restrictions to access what so ever. A public member is accessible not only from within, but also from outside, and gives free access to any member declared within the body or outside the body.


25. Define polymorphism?


Polymorphism means one name, multiple forms. It allows us to have more than one function with the same name in a program. It allows us to have overloading of operators so that an operation can exhibit different behaviors in different instances.


26. What is Jagged Arrays?


A jagged array is an array whose elements are arrays.
The elements of a jagged array can be of different dimensions and sizes.
A jagged array is sometimes called an array–of–arrays.


27. What is an abstract base class?


An abstract class is a class that is designed to be specifically used as a base class. An abstract class contains at least one pure virtual function.


28. How is method overriding different from method overloading?


When overriding a method, you change the behavior of the method for the derived class. Overloading a method simply involves having another method with the same name within the class.


29. What is the difference between ref & out parameters?


An argument passed to a ref parameter must first be initialized. Compare this to an out parameter, whose argument does not have to be explicitly initialized before being passed to an out parameter.


30. What is the use of using statement in C#?


The using statement is used to obtain a resource, execute a statement, and then dispose of that resource.


31. What is serialization?


Serialization is the process of converting an object into a stream of bytes.
De-serialization is the opposite process of creating an object from a stream of bytes.
Serialization / De-serialization is mostly used to transport objects.


32. What are the difference between Structure and Class?


• Structures are value type and Classes are reference type
• Structures cannot have contractors or destructors.
• Classes can have both contractors and destructors.
• Structures do not support Inheritance, while Classes support Inheritance.


33. What is difference between Class And Interface?


Class: is logical representation of object. It is collection of data and related sub procedures with definition.
Interface: is also a class contains a method which is not having any definitions. Class does not support multiple inheritances. But interface can support.


34. What is Delegates?


Delegates are a type-safe, object-oriented implementation of function pointers and are used in many situations where a component needs to call back to the component that is using it.


35. What is Authentication and Authorization?


Authentication is the process of identifying users. Authentication is identifying/validating the user against the credentials (username and password).
Authorization performs after authentication. Authorization is the process of granting access to those users based on identity. Authorization allowing access of specific resource to user.


36. What is a base class?


A class declaration may specify a base class by following the class name with a colon and the name of the base class. omitting a base class specification is the same as deriving from type object.


37. Can “this” be used within a static method?


No ‘This’ cannot be used in a static method. As only static variables/methods can be used in a static method.


38. What is difference between constants, readonly and, static ?


• Constants: The value can’t be changed.
• Read-only: The value will be initialized only once from the constructor of the class.
• Static: Value can be initialized once.


39. What are the different types of statements supported in C#?


• C# supports several different kinds of statements are
• Block statements
• Declaration statements
• Expression statements
• Selection statements
• Iteration statements
• Jump statements
• Try catch statements
• Checked and unchecked
• Lock statement


40. What is an interface class?


It is an abstract class with public abstract methods all of which must be implemented in the inherited classes.


41. What are value types and reference types?


Value types are stored in the Stack.
Examples : bool, byte, chat, decimal, double, enum , float, int, long, sbyte, short, strut, uint, ulong, ushort.
Reference types are stored in the Heap.
Examples : class, delegate, interface, object, string.


42. What is the difference between string keyword and System.String class?


String keyword is an alias for Syste.String class. Therefore, System.String and string keyword are the same, and you can use whichever naming convention you prefer. The String class provides many methods for safely creating, manipulating, and comparing strings.


43. What are the two data types available in C#?


• Value type
• Reference type


44. What are the different types of Caching?


There are three types of Caching :
Output Caching: stores the responses from an asp.net page.
Fragment Caching: Only caches/stores the portion of page (User Control)
Data Caching: is Programmatic way to Cache objects for performance.


45. What is the difference between Custom Control and User Control?


Custom Controls are compiled code (Dlls), easier to use, difficult to create, and can be placed in toolbox. Drag and Drop controls. Attributes can be set visually at design time. Can be used by Multiple Applications (If Shared Dlls), Even if Private can copy to bin directory of web application add reference and use. Normally designed to provide common functionality independent of consuming Application.
User Controls are similar to those of ASP include files, easy to create, can not be placed in the toolbox and dragged - dropped from it. A User Control is shared among the single application files.


46. What is a method?


A method is a member that implements a computation or action that can be performed by an object or class. Static methods are accessed through the class. Instance methods are accessed through instances of the class.


47. What is fields?


A field is a variable that is associated with a class or with an instance of a class.


48. What is events?


An event is a member that enables a class or object to provide notifications. An event is declared like a field except that the declaration includes an event keyword and the type must be a delegate type.


49. What is literals and their types?


Literals are value constants assigned to variables in a program. C# supports several types of literals are
• Integer literals
• Real literals
• Boolean literals
• Single character literals
• String literals
• Backslash character literals


50. What is the difference between value type and reference type?


Value types are stored on the stack and when a value of a variable is assigned to another variable.
Reference types are stored on the heap, and when an assignment between two reference variables occurs.


51. What are the features of c#?


• C# is a simple and powerful programming language for writing enterprise edition applications.
• This is a hybrid of C++ and VB. It retains many C++ features in the area statements,expressions, and operators and incorporated the productivity of VB.
• C# helps the developers to easily build the web services that can be used across the Internet through any language, on any platform.
• C# helps the developers accomplishing with fewer lines of code that will lead to the fewer errors in the code.
• C# introduces the considerable improvement and innovations in areas such as type safety,versioning. events and garbage collections.


52. What are the types of errors?


• Syntax error
• Logic error
• Runtime error


53. What is the difference between break and continue statement?


The break statement is used to terminate the current enclosing loop or conditional statements in which it appears. We have already used the break statement to come out of switch statements.
The continue statement is used to alter the sequence of execution. Instead of coming out of the loop like the break statement did, the continue statement stops the current iteration and simply returns control back to the top of the loop.


54. Define namespace?


The namespace are known as containers which will be used to organize the hierarchical set of .Net classes.


55. What is a code group?


A code group is a set of assemblies that share a security context.
What are sealed classes in C#?
The sealed modifier is used to prevent derivation from a class. A compile-time error occurs if a sealed class is specified as the base class of another class.


57. What is the difference between static and instance methods?


A method declared with a static modifier is a static method. A static method does not operate on a specific instance and can only access static members.
A method declared without a static modifier is an instance method. An instance method operates on a specific instance and can access both static and instance members. The instance on which an instance method was invoked can be explicitly accessed as this. It is an error to refer to this in a static method.


58. What are the different types of variables in C#?


• Different types of variables used in C# are :
• static variables
• instance variable
• value parameters
• reference parameters
• array elements
• output parameters
• local variables


59. What is meant by method overloading?


Method overloading permits multiple methods in the same class to have the same name as long as they have unique signatures. When compiling an invocation of an overloaded method, the compiler uses overload resolution to determine the specific method to invoke


60. What is parameters?


Parameters are used to pass values or variable references to methods. The parameters of a method get their actual values from the arguments that are specified when the method is invoked. There are four kinds of parameters: value parameters, reference parameters, output parameters, and parameter arrays.


61. Is C# is object oriented?


YEs, C# is an OO langauge in the tradition of Java and C++.


62. What is the difference between Array and Arraylist?


An array is a collection of the same type. The size of the array is fixed in its declaration. A linked list is similar to an array but it doesn’t have a limited size.


63. What are the special operators in C#?


C# supports the following special operators.
• is (relational operator)
• as (relational operator)
• typeof (type operator)
• sizeof (size operator)
• new (object creator)
• .dot (member access operator)
• checked (overflow checking)
• unchecked (prevention of overflow checking)


64. What is meant by operators in c#?


An operator is a member that defines the meaning of applying a particular expression operator to instances of a class. Three kinds of operators can be defined: unary operators, binary operators, and conversion operators. All operators must be declared as public and static.


65. What is a parameterized type?


A parameterized type is a type that is parameterized over another value or type.


66. What are the features of abstract class?


• An abstract class cannot be instantiated, and it is an error to use the new operator on an abstract class.
• An abstract class is permitted (but not required) to contain abstract methods and accessors.
• An abstract class cannot be scaled.


67. What is the use of abstract keyword?


The modifier abstract is a keyword used with a class, to indicate that this class cannot itself have direct instances or objects, and it is intended to be only a 'base' class to other classes.


68. What is the use of goto statement?


The goto statement is also included in the C# language. This goto can be used to jump from inside a loop to outside. But jumping from outside to inside a loop is not allowed.


69. What is the difference between console and window application?


• A console application, which is designed to run at the command line with no user interface.
• A Windows application, which is designed to run on a user’s desktop and has a user interface.


70. What is the use of return statement?


The return statement is associated with procedures (methods or functions). On executing the return statement, the system passes the control from the called procedure to the calling procedure. This return statement is used for two purposes:
• to return immediately to the caller of the currently executed code
• to return some value to the caller of the currently executed code.


71. What is the difference between Array and LinkedList?


Array is a simple sequence of numbers which are not concerned about each other’s positions. They are independent of each other’s positions. Adding, removing or modifying any array element is very easy. Compared to arrays, linked list is a complicated sequence of numbers.


1. Multicast Delegates


Capability of calling multiple methods on a single event is called as chaining delegates


2. Interface


using System;
namespace Interfaces
{
interface IBankCustomer
{
void DepositMoney();
void WithdrawMoney();
}
public class Demo : IBankCustomer
{
public void DepositMoney()
{
Console.WriteLine("Deposit Money");
}

public void WithdrawMoney()
{
Console.WriteLine("Withdraw Money");
}

public static void Main()
{
Demo DemoObject = new Demo();
DemoObject.DepositMoney();
DemoObject.WithdrawMoney();
}
}
}


3. Partial Class

A partial class is a class whose definition is present in 2 or more files. Each source file contains a section of the class, and all parts are combined when the application is compiled. To split a class definition, use the partial keyword as shown in the example below. Student class is split into 2 parts. The first part defines the study() method and the second part defines the Play() method. When we compile this program both the parts will be combined and compiled. Note that both the parts uses partial keyword and public access modifier.

using System;
namespace PartialClass

{
public partial class Student
{
public void Study()
{
Console.WriteLine("I am studying");

}
}
public partial class Student
{
public void Play()
{
Console.WriteLine("I am Playing");
}
}
public class Demo
{
public static void Main()
{
Student StudentObject = new Student();
StudentObject.Study();
StudentObject.Play();
}
}
}


4. Nested classes as partial classes

class ContainerClass
{
public partial class Nested
{
void Test1() { }
}
public partial class Nested
{

void Test2() { }
}
}


5. Nested type

A type(class or a struct) defined inside another class or struct is called a nested type. An example is shown below. InnerClass is inside ContainerClass, Hence InnerClass is called as nested class.
using System;

namespace Nested
{
class ContainerClass
{
class InnerClass
{
public string str = "A string variable in nested class";
}

public static void Main()
{
InnerClass nestedClassObj = new InnerClass();
Console.WriteLine(nestedClassObj.str);
}
}
}


6. private constructor


using System;
namespace TestConsole
{
class Program
{
public static void Main()
{
//Error cannot create instance of a class with private constructor
SampleClass SC = new SampleClass();
}
}
class SampleClass
{
double PI = 3.141;

private SampleClass()
{
}
}
}


7. child class call the constructor of a base class

child class can call the constructor of a base class by using the base keyword
using System;
namespace TestConsole
{
class BaseClass
{
public BaseClass(string str)
{

Console.WriteLine(str);
}
}

class ChildClass : BaseClass
{
public ChildClass(string str): base(str)
{
}

public static void Main()
{
ChildClass CC = new ChildClass("Calling base class constructor from child class");
}
}
}


8. When an instance of a child class is created, the base class constructor is called before the child class constructor


using System;
namespace TestConsole
{
class BaseClass
{
public BaseClass()
{
Console.WriteLine("I am a base class constructor");
}
}
class ChildClass : BaseClass
{
public ChildClass()
{
Console.WriteLine("I am a child class constructor");
}
public static void Main()
{
ChildClass CC = new ChildClass();
}
}
}


9. static constructor


using System;
namespace TestConsole

{
class Program
{
static int I;

static Program()
{
I = 100;
Console.WriteLine("Static Constructor called");
}
public Program()
{
Console.WriteLine("Instance Constructor called");
}
public static void Main()
{
Program P = new Program();
}
}
}


10. difference between method parameters and method arguments


using System;
namespace Demo
{
class Program
{
public static void Main()
{
int FN = 10;
int SN = 20;
//FN and LN are method arguments
int Total = Sum(FN, SN);
Console.WriteLine(Total);
}
//FirstNumber and SecondNumber are method parameters
public static int Sum(int FirstNumber, int SecondNumber)
{
int Result = FirstNumber + SecondNumber;
return Result;
}
}
}


11. pass value types by reference to a method


using System;
namespace Demo
{
class Program
{
public static void Main()
{
int I = 10;
Console.WriteLine("Value of I before passing to the method = " + I);
Function(ref I);
Console.WriteLine("Value of I after passing to the method by reference= " + I);
}
public static void Function(ref int Number)
{
Number = Number + 5;
}
}
}


12. If a method's return type is void, can you use a return keyword in the method? Yes


using System;
namespace Demo
{
class Program
{
public static void Main()
{
SayHi();
}
public static void SayHi()
{

Console.WriteLine("Hi");
return;
Console.WriteLine("This statement will never be executed");
}
}
}


13. mean by String objects are immutable


String objects are immutable means, they cannot be changed after they have been created. All of the String methods and C# operators that appear to modify a string actually return the results in a new string object. In the following example, when the contents of s1 and s2 are concatenated to form a single string, the two original strings are unmodified. The += operator creates a new string that contains the combined contents. That new object is assigned to the variable s1, and the original object that was assigned to s1 is released for garbage collection because no other variable holds a reference to it
string s1 = "First String ";
string s2 = "Second String";
// Concatenate s1 and s2. This actually creates a new
// string object and stores it in s1, releasing the
// reference to the original object.
s1 += s2;
System.Console.WriteLine(s1);
// Output: First String Second String


14. Boxing and Unboxing


Boxing - Converting a value type to reference type is called boxing
int i = 101;
object obj = (object)i; // Boxing
obj = 101;
i = (int)obj; // Unboxing


15. sealed class


using System;
public sealed class Customer
{
}
public class MainClass : Customer
{
public static void Main()
{
}
}


16. polymorphism in C#


Polymorphism allows you to invoke derived class methods through a base class reference during run-time
using System;
public class DrawingObject
{
public virtual void Draw()
{
Console.WriteLine("I am a drawing object.");
}
}
public class Triangle : DrawingObject
{
public override void Draw()
{
Console.WriteLine("I am a Triangle.");
}
}
public class Circle : DrawingObject
{
public override void Draw()
{
Console.WriteLine("I am a Circle.");
}
}
public class Rectangle : DrawingObject
{
public override void Draw()
{
Console.WriteLine("I am a Rectangle.");
}
}
public class DrawDemo
{
public static void Main()
{
DrawingObject[] DrawObj = new DrawingObject[4];

DrawObj[0] = new Triangle();
DrawObj[1] = new Circle();
DrawObj[2] = new Rectangle();
DrawObj[3] = new DrawingObject();

foreach (DrawingObject drawObj in DrawObj)
{
drawObj.Draw();
}
}
}

- Shrikant Profile
http://facebook.com http://twitter.com http://instagram.com http://youtube.com http://linkedin.com http://pinterest.com http://plus.google.com