RESOLVIDO - Como descobrir tamanho de "TValue" em uma SortedList?

2 respostas
ivan_braga

Bom dia pessoal.

Desculpem se a pergunta parece fácil, porem como estou muito novo na programação c# e windows, por mais que procure não consegui ainda uma solução.

Se fosse em c ou asm"minha praia", saberia a resposta, pois muito provavelmente implementaria o método “função” na unha, já em c# é muita coisa e estou perdido no meio de tanta informação.

Sem mais delongas, preciso descobrir o tamanho da propriedade “TValue” em uma SortedList. Se fosse um array comum seria array.length.

Em meu código tenho este trecho onde faço a inclusão de um buffer de bytes vindo de um PLC via porta serial. Sendo bufferTmp[0] o “TKey” referente ao endereço do PLC via modbus rtu e bufferTmp toda a mensagem que é armazenada em “TValue”.

Já este outro trecho é onde recupero esta informação.

Preciso saber o tamanho de:

Para por no lugar de XXXX.

Desde já obrigado.

2 Respostas

ViniGodoy

Você declarou como sua SortedList? O ideal é especificar os tipos:

Isso automaticamente transformará os TKey e TValue no tipos de dado que você estiver trabalhando.

Se não especificar o tipo (o que é bem mais inseguro), você deverá fazer um cast:

byte[] value = (byte[])lstResponse[index]; int size = value.Length;

Mas não recomendo. Especificar o tipo na declaração não só evita esse cast, como também impede o uso incorreto do dictionary.

ivan_braga

Obrigado ViniGodoy.

Consegui resolver usando suas dicas.

Ainda vou apanhar muito por causa desse paradigma “O.O.” Tenho muito quer aprender e assimilar.

Mais uma vez te agradeço.

Criado 24 de junho de 2012
Ultima resposta 24 de jun. de 2012
Respostas 2
Participantes 2