public static void Main()
string data = "31/03/2018";
int maiorAnoPermitido = 2050;
int menorAnoPermitido = 2000;
string[] val = data.Split('/');
if (int.TryParse(val[0] , out dia) && int.TryParse(val[1], out mes) && int.TryParse(val[2], out ano))
if (ano >= menorAnoPermitido && ano <= maiorAnoPermitido)
int maxDia = (mes==2 ? ( ano % 4 ==0 ? 29 : 28 ) : mes <=7 ? (mes%2==0?30 : 31) : (mes%2==0?31:30));
if (dia >=1 && dia <=maxDia)
Console.WriteLine("Data Válida");
Console.WriteLine("Dia inválido");
Console.WriteLine("Mês inválido");
Console.WriteLine("Ano inválido");
Console.WriteLine("Data inválida");