.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;
using static System.Console;

List<Tier> tiere = new ()
{
	new Katze { name = "Freddy" },
	new Katze { name = "Fibi"   },
	new Hund  { name = "Bello"  },
	new Katze { name = "Isi"    },
	new Hund  { name = "Happy"  },
};

foreach (var tier in tiere)
{
	var prefix = tier switch
	{
		Katze => "Die Katze sagt ",
		Hund  => "Der Hund macht ",
		_	  => ""
	};
	
	WriteLine ($"{prefix} {tier.sprich()}");
}

WriteLine (DateTime.Now);


interface Tier
{ 
	string name {get;set;}
	string sprich();
}

class Katze: Tier
{
	public string name {get;set;}
	public string sprich() => "miau";
}

class Hund : Tier
{
	public string name {get;set;}
	public string sprich() => "wau wau";
}
;