Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

soulbe

Dúvida Arrays

Mensagens Recomendadas

soulbe    0
soulbe

Boa noite.

Estava a ler sobre arrays e fiquei na dúvida sobre qual seria o mai eficiente, arrays unidimensionais, multidimensionais ou jagged arrays...

Fiquei com a ideia que os multidimensionais não serão porque não possuem operações IL para manipulação tendo de ser feita a chamada a métodos para manipulação no código IL...

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
saunde    0
saunde

O tempo de acesso de um jagged array é menor, mas sua criação é mais demorada do que um array multidimensional, pois cada dimensão de um jagged array necessita de um novo objecto alocado no heap.

Enquanto o jagged array é superior nos tempos de acesso, é importante lembrar que sua criação é mais demorada do que um array multidimensional. Portanto, se a sua aplicação criar poucos objectos de array, mas aceder a eles constantemente, ou iterar sobre ele, o jagged array é a melhor solução. No entanto, se a sua aplicação criar arrays com frequência, mas aceder poucas vezes a eles, então o array multidimensional é a melhor escolha.

No array bidimensional necessitamos de declarar a segunda dimensão do array,  em que o número de colunas irá ser sempre igual em todas as linhas, isto pode levar a desperdício de espaço. Jagged arrays, por outro lado, permitem que se aloje um diferente número de colunas por cada linha.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
soulbe    0
soulbe

Pois, estou a ver. Logo o que eu disse está de encontro ao que disses-te, porque como os arrays multidimensionais têm de chamar métodos no código IL para fazer manipulação, isso vai baixar os tempos de acesso.

Obrigado pela resposta

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade