News:
They must handle case-sensitivity identically in both the GetHashCode() and Equals() methods.
Key objects must be immutable for the duration they are used within a HashTable.
Get HashCode() must be overridden to provide the same result, given the same parameters, regardless of reference equality unless the HashTable constructor is provided with an IEqualityComparer parameter.
Each Element in a HashTable is stored as a Key/Value pair of the type System.Collections.DictionaryElement
All of the above
Useful resources, Hashtable
They can be declared either static or instance members.
Extension methods can be used to override existing instance methods
Extension methods with the same signature for the same class may be declared in multiple namespace without causing compilation errors.
They must be declared in the same assembley(but may be in different source files)
Extension methods are defined as static methods but are called by using instance method syntax. Their first parameter specifies which type the method operates on, and the parameter is preceded by the this modifier. Extension methods are only in scope when you explicitly import the namespace into your source code with a using directive. Useful resources, Extension Methods
Server validation can be used alongside with the client side validation
All Data Posted on server, should be validated
Client side validation typically provide faster response (Feedback) then server validation.
All of the above
Useful resources, ASP.NET Validation
More concise syntax
The types for a Lambda Excpression may be omitted
The body of an Anonymous method can not be an expression.
Lambda Expressions permit deferred type inference that anonymous methods do not.
All of the above.
Useful resources, C# Delegates, Anonymous Methods, and Lambda Expressions , Lambda Expressions , Delegates, Events, and Lambda Expressions
asp:ScriptManager
asp:AjaxManager
asp:PageManager
asp:ClientScriptManager
Useful resources, ScriptManager
Init
PreLoad
Load
Render
The viewstate is loaded between the init and the load event. So this also means that if you want to access the property values of a web control after a postback you have to do this after the viewstate has been restored and you can not do this in the page_init event rather it should be done in or after Page_Load event handler. For Useful resources, Understanding ASP.NET View State
UserControl can directly express rendering information via markup; a Custom Server control can’t.
UserControl does not require the use of the @Register directive; a Custom Server control does require it.
UserControl can make use of script based validation; a Custom Server control can not.
UserControl can represent complete compositate hierarchy; a Custom Server control can not.
Useful resources, Overview of user controls vs. custom controls
The actual instantiated class is dynamically created and has a base class defined in the CodeFile.
The actual instantiated class is dynamically created and has a member representing the class defined in the CodeFile.
The actual instantiated class is dynamically created and is a co-class of the class defined in the CodeFile.
Useful resources, ASP.NET Web Page Code Model
Class MyClass { public event EventHandler MyEvent; }
public void A_MyEvent(object sender, MyArgs e) { }
public void A_MyEvent(object sender, EventArgs e) { }
public void A_MyEvent(MyArgs e) { }
Useful resources, Event handler methods
static void F1(params int [] y) { } static void Sample() { int [] j = new Int32[3]; List k = new List(); // FURTHER READING GOES HERE }
F1(j);
F1(k);
F1(1, 2, 3);
F1(new [] {1,2,3})
F1() expects integer type parameter but k is a list type object. So, F1(k) will generate compile time error.