/* Author: Jiangong SUN */Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type. extension methods are a special kind of static method, but they are called as if they were instance methods on the extended type. the most common extension methods are in LINQ; Linq provides two classes: Enumerable and Q Ueryable. and their extensions methods operate on IEnumerable <T> and IQueryable <T>. extension methods are static methods who reside in static utility classes. for example: public static bool IsNull (this object x) {return x = null;} public static bool IsNullOrEmpty (this object text) {return text = null | (string) text = "";} public static IEnumerable <int> GetOddMembers (this List <int> list ){ Return list. Where (x => x % 2! = 0);} Usage: object y = null; Console. writeLine (y. isNull (); // True y = new object (); Console. writeLine (y. isNull (); // False object s = null; Console. writeLine (s. isNullOrEmpty (); // True s = string. empty; Console. writeLine (s. isNullOrEmpty (); // True s = "hello"; Console. writeLine (s. isNullOrEmpty (); // False Console. writeLine (IsObjectNull. isNullOrEmpty (null); // True List <int> list = new List <int> () {1, 2, 5, 7, 12}; var oddMembers = list. getOddMembers (); foreach (var oddMember in oddMembers) {Console. writeLine (oddMember); // 1 5 7} I Hope this can do help to you! Enjoy coding!