Método generalizado para encontrar el máximo en un array

C# Easy generics

Tarea «Método generalizado para encontrar el máximo en un array»

Implemente un método generalizado Max<T> que reciba un array de elementos de tipo T y devuelva el elemento máximo. El tipo T debe implementar la interfaz IComparable<T>. Si el array está vacío, el método debe devolver default(T). Datos de entrada: primero un número entero N (tamaño del array), luego N elementos de un mismo tipo (int o double). Se garantiza que todos los elementos son del mismo tipo.

Formato de entrada

Un número entero N, luego N números (int o double).

Formato de salida

El valor máximo entre los números ingresados, o 'null' (cadena), si el array está vacío.

Ejemplos

Ejemplo 1

ENTRADA
5 3 7 1 9 4
SALIDA
9

Ejemplo 2

ENTRADA
0
SALIDA
null

Ejemplo 3

ENTRADA
3 2.5 1.1 3.8
SALIDA
3.8

Ejemplo 4

ENTRADA
5.0 4.0 6.0 3.0 4.0 5.0
SALIDA
78.54 31.42 24.00 20.00 6.00 12.00
main.cs