using System.Collections.Generic;
public static void Main()
var result = objN.IsNossoNumeroValido(NN);
Console.WriteLine("O dígito do NossoNumero é válido? " + result);
public bool IsNossoNumeroValido (string nossoNumero)
if (nossoNumero.Length < 12)
nossoNumero = nossoNumero.PadLeft(12,'0');
Console.WriteLine("Passo 1 - Ajustando tamanho,ompletar com zeros a esquerda: nossoNumero agora é: " + nossoNumero);
else if (nossoNumero.Length > 12)
Console.WriteLine("Nossonumero inválido (MAIOR QUE 12 DIGITOS). Necessidade de geração de um novo");
var digitoDoNossoNumeroInformado = nossoNumero.Substring(11,1);
Console.WriteLine("Passo 2 - Obter o dígito, digitoDoNossoNumeroInformado:" + digitoDoNossoNumeroInformado);
string seq = carteira + nossoNumero;
for (int i = 0 ; i < seq.Length ; i++)
valor = Convert.ToInt32(seq.Substring(i, 1));
somatorio += valor * peso;
var resto = (somatorio % 11);
digitoNN = Convert.ToString(11-resto);
Console.WriteLine("O digito correto para o NossoNumero: " + nossoNumero + " Devria ser: " + digitoNN + " e não: " + digitoDoNossoNumeroInformado);
if (!string.IsNullOrEmpty(digitoNN))
return digitoNN.Equals(digitoDoNossoNumeroInformado);