ARRAYLIST

ALEXYAN 16/09/2011 15:36:58
#384480
Pessoal boa tarde.

Estou trabalhando com um arraylist'da seguinte forma. Tenho um arquivo TXT onde tiro as informacoes dele e carrego em um DataGrid. Essas informacoes sao CNPJ's que se repetem varias vezes. Depois carrogo um arraylist com estes CNPJ's. O que eu preciso é verifiar qual CNPJ esta repetindo dentro do arraylist e separa-lo apenas uma vez e joga-lo em outro DataGrid. Abaixo estou postando o codigo que comecei a fazer e nao evolui mais. Ja fiz um monte de tentativas e nada. Nao estou conseguindo achar onde estou errando. Alguem pode me ajudar?

cod50 = DGVCodigo50.Rows(Pi).Cells(0).Value
If cod50 = [Ô]50[Ô] Then
While Pi < DGVCodigo50.Rows.Count

[ô]Variavel recebe dados do DataGrid carregado
result = DGVCodigo50.Rows(Pi).Cells(1).Value

[ô]Testa a variavel result para ver se ela esta recebendo os dados do DataGrid 50
DGV01.Rows.Add(result)

[ô]ArrayList é preenchido com os dados da variavel
lista.Add(result)

[ô]Para confirmar se o Array foi preenchido com as informacoes descarrego ele em outro DataGrid
DDD.Rows.Add(lista.Count.ToString, lista.Item(Pi))

[ô]Aqui seria onde começaria a comparação. Nao consego passar daqui.

Pi += 1

End While
End If

Alguem pode me ajudar?

Obrigado pela atenção e ajuda.
TECLA 16/09/2011 23:36:17
#384521
Já tentou usar LINQ pra obter os registros DISTINTOS?
Exemplo:

DataTable dt = new DataTable();
dt.Columns.Add([Ô]IntValue[Ô], typeof(int));
dt.Columns.Add([Ô]StringValue[Ô], typeof(string));
dt.Rows.Add(1, [Ô]1[Ô]);
dt.Rows.Add(1, [Ô]1[Ô]);
dt.Rows.Add(1, [Ô]1[Ô]);
dt.Rows.Add(2, [Ô]2[Ô]);
dt.Rows.Add(2, [Ô]2[Ô]);

var x = (from r in dt.AsEnumerable()
select r[[Ô]IntValue[Ô]]).Distinct().ToList();
Tópico encerrado , respostas não são mais permitidas