Q:

Como imprimir la consonante de un texto

Tengo este código en c# el cual me imprime la cantidad de consonantes que hay en la frase que se ingreso,mi duda es como imprimir que consonante es.
EJEMPLO
gonzalez
//salida
cantidad de consonantes: 1
la consonante es: n
static void Main(string[] args)
    {
        Console.Write("Escriba una frase: ");
        string frase = Console.ReadLine();
        Console.WriteLine("Cantidad de consonantes en {0}"+CuentaConsonante(frase) );
        Console.Read();
    }

    static int CuentaConsonante(string frase)
    {
        int contador = 0;
        char c;
        foreach (char v in frase)
        {
            c = Char.ToLower(v);
            if (c == 'b' || c == 'c' || c == 'd' || c == 'f' || c == 'g'|| c == 'h'|| c == 'n')
                contador++;

        }
        return contador;
    }

A:

Voy a exponer una solución muy sencilla usando LINQ:
char[] consonantes = new char[] { 'b', 'c', 'd', 'f', 'g', 'h', 'n' };

string inputstring = "gonzalezn";
var conson = inputstring.ToLower().Where(x => consonantes.Contains(x)).GroupBy(x=> x);

foreach (var cons in conson)
{
    Console.WriteLine("la consonante {0} se repite {1} veces", cons.Key, cons.Count());
}

Console.WriteLine("total de consonantes diferentes encontradas: {0}", conson.Count());
Console.WriteLine("total de consonantes encontradas: {0}", conson.SelectMany(x => x).Count());

Lo que hacemos es definir primero un array con los caracteres que queremos buscar. Posteriormente, usando Where buscamos todos los caracteres de la cadena de entrada que estén incluidos en el array de consonantes, y agrupamos ya que pueden estar repetidos.
Por último, recorremos los resultados e imprimimos el caracter y el numero de veces que se ha encontrado.
El código anterior tiene la siguiente salida, dado gonzalezn como entrada:
la consonante g se repite 1 veces
la consonante n se repite 2 veces
total de consonantes diferentes encontradas: 2
total de consonantes encontradas: 3

Edit
Si en realidad quieres contar todas las consonantes, y no solo las que pones en tu ejemplo, lo que debes hacer cambiar el array de consonantes por uno de vocales, y usar Char.IsLetter para comprobar por un lado si el caracter es un letra, y por otro si no es una vocal:
char[] vocales = new char[] { 'a', 'e', 'i', 'o', 'u' };
var conson = inputstring.ToLower().Where(x => Char.IsLetter(x) && !vocales.Contains(x)).GroupBy(x=> x);

El resultado del código modificando esa linea es el siguiente (usando gonzalez como entrada:
la consonante g se repite 1 veces
la consonante n se repite 1 veces
la consonante z se repite 2 veces
la consonante l se repite 1 veces
total de consonantes diferentes encontradas: 4
total de consonantes encontradas: 5 

