using System.Collections.Generic;
public static void Main()
var data = new DateTime(2015, 2, 15);
var meses = new List<int> { 3, 4, 7 };
var t = a.Calcular(data, meses, 2015, fim);
var str = a.ConcaterMeses(t);
public List<string> Calcular(DateTime inicioOperacao, List<int> meses, int anoPesquisa, DateTime dataFim)
var inicio = inicioOperacao.Year == anoPesquisa ? inicioOperacao.Month : 1;
var fim = dataFim.Year == anoPesquisa ? dataFim.Month - inicio : 12 - inicio + 1;
var mesesStr = new List<string>();
var mesesTotal = Enumerable.Range(inicio, fim).ToList();
var mesesAviso = mesesTotal.Where(x => !meses.Contains(x)).ToList();
return mesesAviso.Select(x => MesIntParaMesStr(x)).ToList();
public string ConcaterMeses(List<string> meses)
var strB = new StringBuilder();
var inicio = meses.FirstOrDefault();
var fim = meses.LastOrDefault();
foreach (var mes in meses)
strB.AppendFormat(", {0}",mes);
strB.AppendFormat(" e {0}", fim);
private string MesIntParaMesStr(int mes)