C # - incremento de número e manter zeros na frente

Eu preciso fazer uma variável de contagem de 40 dígitos. Deve começar como0000000000000000000000000000000000000001
e incremento para
0000000000000000000000000000000000000002

Quando eu uso oint classe, corta todos os zeros. Problema é que eu preciso incrementar o número e, em seguida, convertê-lo em uma seqüência de caracteres, com o número correto de zeros à esquerda. O tamanho total deve ser de 40 dígitos. Então, se eu acertar 50, por exemplo, deve ficar assim:

0000000000000000000000000000000000000050

Como posso fazer isso e reter os zeros?

questionAnswers(4)

yourAnswerToTheQuestion