Explain The Differences Between Server-Side and Client-Side Code?
Explain The Differences Between Server-Side and Client-Side Code?
NET
Next>>
Server side code executes on the server.For this to occur page has to be submitted or
posted back.Events fired by the controls are executed on the server.Client side code
executes in the browser of the client without submitting the page.
e.g. In ASP.NET for webcontrols like asp:button the click event of the button is
executed on the server hence the event handler for the same in a part of the code-
behind (server-side code). Along the server-side code events one can also attach
client side events which are executed in the clients browser i.e. javascript events.
C# allows multiple interface inheritance. It means that a class can implement more
than one interface. The methods declared in an interface are implicitly abstract. If a
class implements an interface, it becomes mandatory for the class to override all the
methods declared in the interface, otherwise the derived class would become
abstract.
Can you explain what inheritance is and an example of when you might use it?
The savingaccount class has two data members-accno that stores account number,
and trans that keeps track of the number of transactions. We can create an object of
savingaccount class as shown below.
We can write our own definition of a method that already exists in a base class. This
is called method overriding. We have overridden the deposit( ) and withdraw( )
methods in the savingaccount class so that we can make sure that each account
maintains a minimum balance of Rs. 500 and the total number of transactions do not
exceed 10. From these methods we have called the base class's methods to update
the balance using the base keyword. We have also overridden the display( ) method
to display additional information, i.e. account number.
Working of currentaccount class is more or less similar to that of savingaccount class.
Using the derived class's object, if we call a method that is not overridden in the
derived class, the base class method gets executed. Using derived class's object we
can call base class's methods, but the reverse is not allowed.
Unlike C++, C# does not support multiple inheritance. So, in C# every class has
exactly one base class.
Now, suppose we declare reference to the base class and store in it the address of
instance of derived class as shown below.
If we don't want to override base class's virtual method, we can declare it with new
modifier in derived class. The new modifier indicates that the method is new to this
class and is not an override of a base class method.
When we set out to implement a class using inheritance, we must first start with an
existing class from which we will derive our new subclass. This existing class, or base
class, may be part of the .NET system class library framework, it may be part of some
other application or .NET assembly, or we may create it as part of our existing
application. Once we have a base class, we can then implement one or more
subclasses based on that base class. Each of our subclasses will automatically have
all of the methods, properties, and events of that base class ? including the
implementation behind each method, property, and event. Our subclass can add new
methods, properties, and events of its own - extending the original interface with new
functionality. Additionally, a subclass can replace the methods and properties of the
base class with its own new
implementation - effectively overriding the original behavior and replacing it with
new behaviors. Essentially inheritance is a way of merging functionality from an
existing class into our new subclass. Inheritance also defines rules for how these
methods, properties, and events can be merged. In VB.NET we can use implements
keyword for inheritance, while in C# we can use the sign ( : ) between subclass and
baseclass.
In VB.NET:
In C#
Hiding is also called as Shadowing. This is the concept of Overriding the methods. It
is a concept used in the Object Oriented Programming.
E.g.
public class ClassA {
public virtual void MethodA() {
Trace.WriteLine("ClassA Method");
}
}
"The purpose of Canonical XML is to define a standard format for an XML document.
Canonical XML is a very strict XML syntax, which lets documents in canonical XML be
compared directly.
Using this strict syntax makes it easier to see whether two XML documents are the
same. For example, a section of text in one document might read Black & White,
whereas the same section of text might read Black & White in another document, and
even in another. If you compare those three documents byte by byte, they'll be
different. But if you write them all in canonical XML, which specifies every aspect of
the syntax you can use, these three documents would all have the same version of
this text (which would be Black & White) and could be compared without problem.
This Comparison is especially critical when xml documents are digitally signed. The
digital signal may be interpreted in different way and the document may be rejected.
Why is the XML InfoSet specification different from the Xml DOM? What
does the InfoSet attempt to solve?
"The XML Information Set (Infoset) defines a data model for XML. The Infoset
describes the abstract representation of an XML Document. Infoset is the generalized
representation of the XML Document, which is primarily meant to act as a set of
definitions used by XML technologies to formally describe what parts of an XML
document they operate upon.
The Document Object Model (DOM) is one technology for representing an XML
Document in memory and to programmatically read, modify and manipulate a xml
document.
Infoset helps defining generalized standards on how to use XML that is not dependent
or tied to a particular XML specification or API. The Infoset tells us what part of XML
Document should be considered as significant information.
Contrast DTDs versus XSDs. What are their similarities and differences?
Which is preferred and why?
Document Type Definition (DTD) describes a model or set of rules for an XML
document. XML Schema Definition (XSD) also describes the structure of an XML
document but XSDs are much more powerful.
The disadvantage with the Document Type Definition is it doesn’t support data types
beyond the basic 10 primitive types. It cannot properly define the type of data
contained by the tag.
An Xml Schema provides an Object Oriented approach to defining the format of an
xml document. The Xml schema support most basic programming types like integer,
byte, string, float etc., We can also define complex types of our own which can be
used to define a xml document.
Xml Schemas are always preferred over DTDs as a document can be more precisely
defined using the XML Schemas because of its rich support for data representation.
Int32.Parse(string)
Yes, but what's the point, since it will call Finalize(), and Finalize() has no guarantees
when the memory will be cleaned up, plus, it introduces additional load on the
garbage collector.
No semicolon.
The readonly keyword is different from the const keyword. A const field can only be
initialized at the declaration of the field. A readonly field can be initialized either at
the declaration or in a constructor. Therefore, readonly fields can have different
values depending on the constructor used. Also, while a const field is a compile-time
constant, the readonly field can be used for runtime constants as in the following
example:
public static readonly uint l1 = (uint) DateTime.Now.Ticks;
No fall-throughs allowed.
What happens when you encounter a continue statement inside the for
loop?
The code for the rest of the loop is ignored, the control is transferred back to the
beginning of the loop.
How can you sort the elements of the array in descending order?
By calling Sort() and then Reverse() methods.
Will finally block get executed if the exception had not occurred?
Yes.
What's the C# equivalent of C++ catch (…), which was a catch-all statement
for any possible exception?
A catch block that catches the exception of type System.Exception. You can also omit
the parameter data type in this case and just write catch {}.
No, once the proper catch code fires off, the control is transferred to the finally block
(if there are any), and then whatever follows the finally block.
Well, if at that point you know that an error has occurred, then why not write the
proper code to handle that error instead of passing a new Exception object to the
catch block? Throwing your own exceptions signifies some design flaws in the project.
Yes, if you are debugging via Visual Studio.NET, just go to Immediate window.
What's the implicit name of the parameter that gets passed into the class'
set method?
Place a colon and then the name of the base class. Notice that it's double colon in
C++.
The designer will likely through it away, most of the code inside InitializeComponent
is auto-generated.
An array has a rank that determines the number of indices associated with each
array element. The rank of an array is also referred to as the dimensions of the array.
An array with a rank of one is called a single-dimensional array. An array with a rank
greater than one is called a multi-dimensional array. Specific sized multidimensional
arrays are often referred to as two-dimensional arrays, three-dimensional arrays, and
so on.
When you create a jagged array you declare the number of rows in your array. Each
row will hold an array that will be on any length. Before filling the values in the inner
arrays you must declare them.
Note that while declaring the array the second dimension is not supplied because this
you will declare later on in the code.
Jagged array are created out of single dimensional arrays so be careful while using
them. Don’t confuse it with multi-dimensional arrays because unlike them jagged
arrays are not rectangular arrays.
What is a delegate, why should you use it and how do you call it ?
XmlSerializer in the .NET Framework is a great tool to convert Xml into runtime
objects and vice versa
If you define integer variable and a object variable and a structure then
how those will be plotted in memory.
[C#]
[Serializable]
public struct Int32 : IComparable, IFormattable, IConvertible
So , it’s a struct by definition , which is the same case with various other value types .
Object – Base class , that is by default reference type , so at runtime JIT compiler
allocates memory on the “Heap” Data structure .