Skip to main content

Posts

Showing posts from May, 2014

Difference Between ref and out Keywords

=> ref causes an argument to be passed by reference not by value.  It provides a reference to the source value and changes made in the method will be made to the source object =>  Arguments passed as ref must be initialized before they are passed. =>  out also causes an argument to be passed by reference.  Changes made to the parameter are also changed in the source. =>  Arguments passed using out do not have to be initialized first. =>  The called method must assign a value prior to the method return statement

When to Use a struct vs Class, Cont’d

=> structs are value types that can contain data and functions. =>  structs are value types and do not require heap allocation. =>  structs directly store their data in the struct , classes store a reference to a dynamically allocated bject. =>  structs are useful for small data structures.  =>  structs can affect performance =>  Constructors are invoked with the new operator, but that does not allocate memory on the heap  =>  A struct constructor simply returns the struct value itself (typically in a temporary location on the stack), and this value is then copied as necessary  =>  With classes, multiple variables may have a reference to the same object  =>  It is possible for operations on one variable to affect the object referenced by the other variable. =>  With structs , the variables each have their own copy of the data, and it is not possible for operations on one to affect the other. =>  structs do not support user-

What is the Difference between String and string

=>The string type is a sealed class type that inherits directly from object. Instances of the string class represent Unicode character strings. =>  Values of the string type can be written as string literals. =>  The keyword string is simply an alias for the predefined class System.String so you can use string name = “Fred”; or String name = “Fred”;. =>  Likewise you can use string.Concat () or String.Concat () =>  Use string for variable names =>  Use S tring for class methods and reference