1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C# - ArrayList Multidimensional

Discussão em 'Programação' iniciada por andrepadez, 8 de Maio de 2008. (Respostas: 6; Visualizações: 4150)

  1. andrepadez

    andrepadez Power Member

    Boas pessoal,
    a questão é a seguinte.
    Estou a programar um jogo de xadrez e preciso de um array bi-dimensional (que guarde objectos) que me guarde todas as jogadas (quadrado inicial e quadrado final). Com um array simples é perfeitamente fazível, mas obriga-me a declará-lo com uma dimensão inicial, o que é impraticável pois nunca sei quantas jogadas vai ter cada jogo. Se eu declarar um array [1000,2] tanto pode ser um desperdício de memória como ser insuficiente.
    Daí precisar de algo que seja auto-dimensionável (vá crescendo à medida que eu quiser inserir valores). O Arraylist parece-me ideal mas tudo o que leio sobre este não falam em mais que uma dimensão.

    Qualquer ajuda é agradecida.

    Abraços
     
  2. Crias uma classe com a posição inicial e a posição final e crias um ArrayList de coisas dessas. :)
     
  3. andrepadez

    andrepadez Power Member

    Muito obrigado,
    a ideia parece.me bem. Vou experimentar
     
  4. andrepadez

    andrepadez Power Member

    Algo está a correr mal:
    estou a usar o visual studio 2008, Visual C#.

    1 - A classe ArrayList não me aparece como existente, alguem percebe porquê?

    2 - Experimentei usar com List, e começou a correr mal quando tento obter o último elemento introduzido, não consigo perceber como o posso fazer, exemplo:

    Código:
     
    textBox1.text += playrecord.Last.ToString();
    
    Obrigado
     
  5. Cesaria

    Cesaria Power Member

    Incluiste o "using System.Collections;"?
     
  6. The_True_Eue

    The_True_Eue Power Member

    A classe ArrayList está no namespace System.Collections, enquanto que a List<T> está em System.Collections.Generic.
    Só uma nota: é desaconselhável o uso de ArrayList, em favor de List<T>. Só em casos muito raros é que ArrayList é a solução. E se não conseguires perceber quais são esses casos, é porque não estás a mexer num => usa List<T>.

    listas não homogéneas... coisa muito rara...


    Qual é o erro quando acedes ao último elemento?
     
  7. andrepadez

    andrepadez Power Member

    obrigado a todos.
    Já consegui resolver a situação, usando List<T>.

    Só estava a achar estranho não aceder a ArrayList.
    e não conhecia os métodos da List, mas já me safei.

    Obrigado
     

Partilhar esta Página