After seeing an example, you should have a good idea of what operator overloading is all about. Now, let's go into the specifics. The operator  method has to be defined like this:
 operator is a C# keyword.
public static <return_value> operator <operator to overload> (<operand1>, [<operand2>]);
The following lists some rules that need to be followed when overloading an operator.
You cannot overload just any C# operator, and you cannot define your own operator. Only the operators shown in Table 22.1 can be overloaded.
|Unary operators||+ – ! ~ ++ -- true false|
|Binary operators||+ – * / % and | ^ << >>|
|Comparison operators||== != < > <= >=|
The +=, ...