In simple words, polymorphism means having many forms. In C#, we can express one interface with multiple functions as polymorphism. Polymorphism is taken from Greek-word that has meaning of many-shapes.
Note
All types in C# (including user-defined types) inherit from object hence every type in C# is polymorphic.
As we discussed polymorphism means many forms. These forms can be of functions where we implement function of same name having same parameters in different forms in derived classes. Also, polymorphism is having the capability to provide different implementation of methods that are implemented with same name.
In coming sections, we will discuss the various types of polymorphism including their implementation using C# 7.0.