In this section, thought to talk about Expression Trees. In order to understand it, you need to know what delegates are first. At-least basic knowledge is required. Delegates are just pointers to a function which you can pass it around and save it to variable. Now, the easiest way to create a delegate in C# is either by Func<> or Action<>. Action is used when the method is void and Func is used, when method returns something. For example, here I will be using below class for my expression tree.