public static void Main()
Console.WriteLine("Choose Options: 1- Method Overloading \t 2- Method Overriding");
int options = Convert.ToInt32(Console.ReadLine());
MethodOverloading mo = new MethodOverloading();
Console.WriteLine("Enter a number:");
mo.Fibonacci(Convert.ToInt32(Console.ReadLine()));
Company co = new Company();
Console.WriteLine("Enter an Employee ID:");
co.GetEmployee(Convert.ToInt32(Console.ReadLine()));
#region Method Overloading
public void Fibonacci() {
int a = 0, b = 1, c = 0, len = 10;
Console.Write($"{a} {b} ");
for (int i = 2; i < len; i++) {
public void Fibonacci(int len)
Console.Write($"{a} {b} ");
for (int i = 2; i < len; i++)
#region Method Overidding
public int EmployeeID { get; set; }
public string Name { get; set; }
public string Department { get; set; }
public string Designation { get; set; }
List<Employee> li_ = new List<Employee>();
public List<Employee> GetEmployees() {
Employee e_ = new Employee() {
Designation = "Software Engineer"
Employee e__ = new Employee()
Designation = "Accountant"
public virtual void GetEmployee(int Id) { }
sealed class Company : Employee
public override void GetEmployee(int Id)
List<Employee> li = GetEmployees();
foreach (var item in li.Where(x => x.EmployeeID == Id)) {
Console.WriteLine($"Employee ID: {item.EmployeeID} \n");
Console.WriteLine($"Employee Name: {item.Name} \n");
Console.WriteLine($"Department: {item.Department}");
Console.WriteLine($"Department: {item.Designation}");
Console.WriteLine("----------------------\n");