C # - incrementa el número y mantén los ceros al frente

Necesito hacer una variable de contador de 40 dígitos. Debe comenzar como0000000000000000000000000000000000000001
e incrementar a
0000000000000000000000000000000000000002

Cuando uso elint Clase, corta todos los ceros. El problema es que necesito incrementar el número y luego convertirlo en una cadena, con el número correcto de ceros iniciales. El tamaño total debe ser de 40 dígitos. Así que si llego a 50, por ejemplo, debería verse así:

0000000000000000000000000000000000000050

¿Cómo puedo hacer eso y retener los ceros?