[ARRAY] REMOCAO DE UM INDEX DE UMA ARRAY

WARLEYOLF2 13/03/2013 22:02:05
#420428
Olá pessoal do vbmania, estou com um problema com arrays, vou citar um exemplo da minha dúvida:

[txt-color=#0000f0]string[] a = new string[5] {[Ô]João[Ô],[Ô]Maria[Ô], [Ô]José[Ô], [Ô]Fulano[Ô], [Ô]Ciclano[Ô] };[/txt-color]

ok, minha dúvida é que eu quero remover por exemplo somente o index 2 no caso a [Ô]Maria[Ô] mas preservando os outros e que o [Ô]José[Ô] seja o 2, no caso relocando todos os superiores ao index removido!!!!
Thank[ô]s for all!!!
LLAIA 14/03/2013 10:14:20
#420446
Se fosse uma lista encadeada, até daria pra remover diretamente mas Array não.
Dá pra fazer isto, teste uma aplicação Console:

            string[] a = new string[5] { [Ô]João[Ô], [Ô]Maria[Ô], [Ô]José[Ô], [Ô]Fulano[Ô], [Ô]Ciclano[Ô] };

var novoArray = a.Where(x => !x.Equals([Ô]Maria[Ô]));

foreach (string x in novoArray)
Console.WriteLine(x);

Console.ReadKey();


ou isto caso queira usa o índice como critério:


            string[] a = new string[5] { [Ô]João[Ô], [Ô]Maria[Ô], [Ô]José[Ô], [Ô]Fulano[Ô], [Ô]Ciclano[Ô] };

var novoArray = a.Where((x,i) => i != 1);

foreach (string x in novoArray)
Console.WriteLine(x);

Console.ReadKey();
JABA 14/03/2013 11:36:57
#420451
Cara, use um List() para isso.

dim lista as New List(of String)
lista.Add([Ô]Rodrigo[Ô])
lista.Add([Ô]Programador[Ô])
lista.Add([Ô]VB.net[Ô])

lista.RemoveAt(1)

após a remoção, os dados serão reajustados automaticamente.

ou então você pode usar o Redim Preserve no array

http://msdn.microsoft.com/en-us/library/w8k3cys2(v=vs.71).aspx
Faça seu login para responder