Sometimes default
keywords comes very handy when working with generic objects. It returns the default value when the object is not initialized. For example, we all know integers are initialized to 0 if not given any value. Characters are Empty when not given any value, objects are null when not assigned any value.
These values are assigned based on default keyword.
Thus if we write :
1 | int x = default(int);//will be assigned to 0 |
will be same as int x;
In case of Generic object when the type is undefined, we can use default to assign specific value to the object. Let us look at the sample :
1 2 3 4 | public T GetDefault<T>() { return default(T); } |
The function returns default value for each individual types sent. Thus
1 2 3 | int defx = this.GetDefault<int>(); //will assign 0 char defy = this.GetDefault<char>(); // will assign null('\0') object defz = this.GetDefault<object>(); // will assign null |
Thus we can use default keyword to get the default assignments to the object very easily.