Assim como Predicate e Action, podemos utilizar o delegate Action para declaração de arrays. A atribuição de métodos 
                aos elementos de um array é feita utilizando a posição/índice passado como argumento para o indexador [].
            
            Sintaxe: Declaração
            
modificador_acesso Funct<T1,TResult>[] nome_array; //atributo
Funct<T1,TResult>[] nome_array[]; 
            Sintaxe: Atribuição
            
Funct<T1,TResult>[] nome_array[] = { nome_metodo1, nome_metodo2, nome_metodoN }; //iniciado
nome_array[indice] = nome_metodo; //atribuição
            Sintaxe: Uso
            
nome_array[indice](lista_argumentos)
            Exemplo 7
            
using System;
public class Program
{
    //static Main
    public static int Metodo1(string msg){ Console.WriteLine(msg); return msg.Length; }
    public static int Metodo2(string msg){ Console.WriteLine(msg); return msg.Length; }
    public static int Metodo3(string msg){ Console.WriteLine(msg); return msg.Length; }
	public static void Main()
	{
        Func<string,int>[] vetorFunc = { Metodo1, Metodo2, Metodo3};
        vetorFunc[0]("array de");
        vetorFunc[1]("func na ");
        vetorFunc[2]("linguagm c#");
	}
}
            Saída
            
array de
func na
linguagem C#