public static void Main()
Government government1 = Government.GetInstance();
Government government2 = Government.GetInstance();
government1.CollectTaxes();
government2.CollectTaxes();
if(government1==government2){
HA HA WE COLLECTED TAX TWICE, USING SINGLETON DESIGN PATTERN!
YOU'LL NEVER CATCH US NOW!!
public sealed class Government
private long _governmentBudget=0;
private static Government _instance;
public static Government GetInstance(){
_instance=new Government();
public void CollectTaxes(){
Random random=new Random();
var collectedTax=random.Next(1000000,5000000);
_governmentBudget+=collectedTax;
Console.WriteLine(string.Format(@"TAX HAS BEEN COLLECTED BY THE GOVERNMENT
----------------------------------------
Total government budget: {1}$
,collectedTax.ToString("n0")
,_governmentBudget.ToString("n0")