Outra forma de utilizar Action é para a criação de métodos anônimos. Esses possuem as mesma 
                características em relação ao uso de um ou mais parâmetros e também o uso de ref e out. 
            
            
                Um método anônimo não possui nome, mas precisa utilizar a palavra reservada delegate como 
                mostrado na sintaxe abaixo:
            
            Sintaxe
            
Action<T1,T2,...,T16> = delegate(T1 obj1, T2 obj, TN objN) 
{ 
   //corpo
}
            Exemplo 4
            
using System;
public class Program
{
    public static void Main(string[] args)
    {
        Action<string> minhaAction = delegate(string msg) 
        {
            Console.WriteLine(msg);
        };
        minhaAction("Metodo anonimo com Action");
    }
}
            Saída
            
Metodo anonimo com Action
            
                Com Action podemos declarar métodos anônimos utilizando expressão lambda como no exemplos abaixo
                mostrado. 
            
            Exemplo 5
            
using System;
public class Program
{ 
    public static void Main(string[] args)
    {
        Action<string> minhaAction = (msg) => Console.WriteLine(msg);
        minhaAction("Action com lambda");
    }
}
            Saída
            
Action com lambda
            
                É válido lembra que expressões lambda podem acessar variáveis e objetos em um escopo superior da qual foi
                declarada.