Métodos conhecidos q estão desconhecidos

fica dando erro como este

quando eu tirar o Tim ele volta a funcionar perfeitamente

Na verdade, não é que não encontra o método, é que em algum ponto ele não acha referência, aí não consegue o objeto, consequentemente, não consegue dar o trim nele.

Talvez sem o trim, nao da o erro, mas tb nao seta nenhum valor pra esses casos

@igor_ks é o que acontece:

Se eu tirar o Trim funciona, mas está muitos chato, pois coisas como IndexOf, ToString e por ai vai. Estão com problemas semelhantes, tentei encontrar alguma coisa na PAI DO SABER e não encontrei coisa semelhante.

Eduardo faltou coisas na sua pergunta, tipo:

  • O que é attrs e qual seu conteúdo, um exemplo, coloque a declaração dele com o seu conteúdo?
  • O que é vals e segue a mesma coisa que attrs, declaração e conteúdo?

Assim de cara:

string sets = "";
for (int i = 0; i < attrs.Length; i++)
{
    attrs[i] = string.Format("{0}={1}", (attrs[i])?.Trim(), (vals[i])?.Trim());
}

talvez resolve seu problema de imediato, mas, o certo e você dizer quem é attrs e vals, informação não dita na sua pergunta.

O nome desse recurso é Null-conditional Operators (C# and Visual Basic)

São simplesmente Array de string, observe:

string[] attrs = ("TipoOperacao, DestinoOperacao, TipoEmitente, ModeloDoc, SituacaoDoc, FormatoDANFE, TipoEmissao, "
                    + "Finalidade, IndicaOperacao, IndicadorPresenca, TipoFrete, Serie, Numero, NumeroFabECF, SeqECF, COO, "
                    + "ChaveAcesso, JustCont, NomeUsuario, CondicaoPgto, "
                    + "FormaPgto, CodigoOperacao, NaturezaOperacao, TipoPreco, Renegociacao, NomeParticipante, CNPJCPFParticipante, "
                    + "IDEstrangeiro, CCEParticipante, EnderecoParticipante, NumeroParticipante, ComplementoParticipante, BairroParticipante, "
                    + "CodigoMunicipioParticipante, MunicipioParticipante, UFParticipante, CEPParticipante, CodigoPaisParticipante, "
                    + "PaisParticipante, DDDParticipante, FoneParticipante, EmailParticipante, CodigoParticipante, OptanteSN, TotalProduto, "
                    + "TotalDesconto, TotalFrete, TotalSeguro, TotalOutrasDespesas, TotalAbatimentoNT, TotalAcrescimoNT, TotalNota, "
                    + "TotalBaseOutras, TotalBaseNaoTribICMS, TotalBaseICMSST, TotalBaseICMS, TotalICMS, TotalICMSST, TotalICMSFCPUFDest, "
                    + "TotalICMSUFDest, TotalICMSUFRemet, TotalICMSDeson, TotalICMSDifer, TotalIPI, TotalPIS, TotalPISST, TotalCOFINS, "
                    + "TotalCOFINSST, TotalII, TotalAproxImpFed, TotalAproxImpEst, TotalAproxImpMun, DadosAdicionais, [Status], [_sinc], [Bloq]").Split(',');

string[] vals = ("'" + modal.TipoOperacao + "', " + "'" + modal.DestinoOperacao + "', " + "'" + modal.TipoEmitente + "', "
                + "'" + modal.ModeloDoc + "', " + "'" + modal.SituacaoDoc + "', " + "'" + modal.FormatoDANFE + "', " + "'" + modal.TipoEmissao + "', "
                + "'" + modal.Finalidade + "', " + "'" + modal.IndicaOperacao + "', " + "'" + modal.IndicadorPresenca + "', " + "'" + modal.TipoFrete + "', "
                + "'" + modal.Serie + "', " + "'" + modal.Numero + "', " + "'" + modal.NumeroFabECF + "', " + "'" + modal.SeqECF + "', " + "'" + modal.COO + "', "
                + "'" + modal.ChaveAcesso + "', " + "'" + modal.JustCont + "', " + "'" + modal.NomeUsuario + "', " + "'" + modal.CondicaoPgto + "', "
                + "'" + modal.FormaPgto + "', " + "'" + modal.CodigoOperacao + "', " + "'" + modal.NaturezaOperacao + "', " + "'" + modal.TipoPreco + "', "
                + "'" + modal.Renegociacao + "', " + "'" + modal.NomeParticipante + "', " + "'" + modal.CNPJCPFParticipante + "', " + "'" + modal.IDEstrangeiro + "', "
                + "'" + modal.CCEParticipante + "', " + "'" + modal.EnderecoParticipante + "', " + "'" + modal.NumeroParticipante + "', "
                + "'" + modal.ComplementoParticipante + "', " + "'" + modal.BairroParticipante + "', " + "'" + modal.CodigoMunicipioParticipante + "', "
                + "'" + modal.MunicipioParticipante + "', " + "'" + modal.UFParticipante + "', "
                + "'" + modal.CEPParticipante + "', " + "'" + modal.CodigoPaisParticipante + "', " + "'" + modal.PaisParticipante + "', " + "'" + modal.DDDParticipante + "', "
                + "'" + modal.FoneParticipante + "', " + "'" + modal.EmailParticipante + "', " + "'" + modal.CodigoParticipante + "', " + "'" + modal.OptanteSN + "', "
                + "'" + modal.TotalProduto + "', " + "'" + modal.TotalDesconto + "', " + "'" + modal.TotalFrete + "', " + "'" + modal.TotalSeguro + "', "
                + "'" + modal.TotalOutrasDespesas + "', " + "'" + modal.TotalAbatimentoNT + "', " + "'" + modal.TotalAcrescimoNT + "', " + "'" + modal.TotalNota + "', "
                + "'" + modal.TotalBaseOutras + "', " + "'" + modal.TotalBaseNaoTribICMS + "', " + "'" + modal.TotalBaseICMSST + "', " + "'" + modal.TotalBaseICMS + "', "
                + "'" + modal.TotalICMS + "', " + "'" + modal.TotalICMSST + "', " + "'" + modal.TotalICMSFCPUFDest + "', " + "'" + modal.TotalICMSUFDest + "', "
                + "'" + modal.TotalICMSUFRemet + "', " + "'" + modal.TotalICMSDeson + "', " + "'" + modal.TotalICMSDifer + "', " + "'" + modal.TotalIPI + "', "
                + "'" + modal.TotalPIS + "', " + "'" + modal.TotalPISST + "', " + "'" + modal.TotalCOFINS + "', " + "'" + modal.TotalCOFINSST + "', "
                + "'" + modal.TotalII + "', " + "'" + modal.TotalAproxImpFed + "', " + "'" + modal.TotalAproxImpEst + "', " + "'" + modal.TotalAproxImpMun + "', "
                + "'" + modal.DadosAdicionais + "', " + "'" + modal.Status + "', " + "'" + modal.Sinc + "', " + "'" + modal.Bloq + "'").Split(',');
1 curtida

Seguinte a quantidade de elementos são diferentes em attrs e vals esse é o motivo!, entendeu?

Usando o código que te passei resolve o problema em questão, mas, talvez crie uma solução que você não quer!

Dá uma olhada nisso, os tamanhos são diferentes em cada array!!!

Tipo qual é o Length de attrs e vals?

1 curtida