• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

soulbe

Dúvida Arrays

4 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

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