¿Es posible cambiar el valor predeterminado de un tipo de datos primitivo?

Recientemente creé una clase genérica de Matriz <T> que actúa como una envoltura alrededor de una colección Lista <Lista <T>>. Por lo que puedo decir, esta clase está funcionando perfectamente. Sin embargo, me estoy topando con un pequeño problema con respecto a los valores predeterminados de las T's.

Creo una instancia de Matriz <int> (3, 3), que crea una matriz de ints de 3x3, todo predeterminado a 0 usando el valor predeterminado (T). Sé que los tipos de valor (que incluyen primitivas) tienen un valor predeterminado de 0, y los tipos de referencia tienen el valor predeterminado de nulo. Me preguntaba si era posible cambiar este valor predeterminado para que si un tipo de valor se pasa a la Matriz, se rellenaría con 5, por ejemplo, en lugar de 0.

Intenté crear mi propia estructura (tipo de valor), pero debido a que no puedo usar constructores sin parámetros dentro de las estructuras, no puedo encontrar una manera de cambiar el valor predeterminado de 0.

Sospecho que no es posible cambiar el valor predeterminado, y tendré que recorrer la matriz de celda por celda una vez que se haya creado una instancia, pero quería preguntar aquí solo por si acaso antes de hacerlo.

Respuestas a la pregunta(6)

Su respuesta a la pregunta