Datas

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;
					
public class Program
{
	public static void Main()
	{
		int qtdeDias = 7;
		Console.WriteLine("Primeiro método");		
		DatasUteis1(qtdeDias).ForEach(p=> Console.WriteLine(p));
		Console.WriteLine("\nSegundo método");
		DatasUteis2(qtdeDias).ForEach(p=> Console.WriteLine(p));		
		Console.WriteLine("\nTerceiro método");
		foreach (var item in DatasUteis3(qtdeDias))
            Console.WriteLine("{0} - {1}", item.Key, item.Value);
		Console.WriteLine("\nQuarto método");
		foreach (var item in DatasUteis4(qtdeDias))
            Console.WriteLine("{0} - {1}", item.Key, item.Value);
		Console.WriteLine("\nQuinto método");
		foreach (var item in DatasUteis5(qtdeDias))
            Console.WriteLine("{0} - {1}", item.Key, item.Value);
	}
	
	public static List<DateTime> DatasUteis1(int quantidade)
    {
        List<DateTime> datas = new List<DateTime>();
        DateTime data = DateTime.Today;
        for (int i = 1; i <= quantidade; i++)
        {
            if (data.AddDays(i).DayOfWeek != DayOfWeek.Saturday && data.AddDays(i).DayOfWeek != DayOfWeek.Sunday)
                datas.Add(data.AddDays(i));
        }

        return datas;
    }

    public static List<DateTime> DatasUteis2(int quantidade)
    {
        List<DateTime> datas = new List<DateTime>();
        DateTime data = DateTime.Today;
        for (int i = 1; i <= quantidade; i++)
        {
            if (data.AddDays(i).DayOfWeek != DayOfWeek.Saturday && data.AddDays(i).DayOfWeek != DayOfWeek.Sunday)
                datas.Add(data.AddDays(i));
            else
                quantidade++;
        }

        return datas;
    }

    public static Dictionary<int, DateTime> DatasUteis3(int quantidade)
    {
        Dictionary<int, DateTime> datas = new Dictionary<int, DateTime>();
        DateTime data = DateTime.Today;
        for (int i = 1; i <= quantidade; i++)
        {
            if (data.AddDays(i).DayOfWeek != DayOfWeek.Saturday && data.AddDays(i).DayOfWeek != DayOfWeek.Sunday)
                datas.Add(i, data.AddDays(i));
        }

        return datas;
    }

    public static Dictionary<int, DateTime> DatasUteis4(int quantidade)
    {
        Dictionary<int, DateTime> datas = new Dictionary<int, DateTime>();
        DateTime data = DateTime.Today;
        for (int i = 1; i <= quantidade; i++)
        {
            if (data.AddDays(i).DayOfWeek != DayOfWeek.Saturday && data.AddDays(i).DayOfWeek != DayOfWeek.Sunday)
                datas.Add(i, data.AddDays(i));
            else
                quantidade++;
        }

        return datas;
    }
	
	public static Dictionary<int, DateTime> DatasUteis5(int quantidade)
    {
        Dictionary<int, DateTime> datas = new Dictionary<int, DateTime>();
        DateTime data = DateTime.Today;
        int counter = 1;
        for (int i = 1; i <= quantidade; i++)
        {
            if (data.AddDays(i).DayOfWeek != DayOfWeek.Saturday && data.AddDays(i).DayOfWeek != DayOfWeek.Sunday)
            {
                datas.Add(counter, data.AddDays(i));
                counter++;
            }
            else
                quantidade++;
        }

        return datas;
    }
}
;