Eliminando ip duplicadas !!

Iniciado por TrashAmbishion, 10 Marzo 2020, 08:30 AM

0 Miembros y 1 Visitante están viendo este tema.

TrashAmbishion

Hola,

Tengo este codigo que me da todas las IPv4 pero necesito eliminar las duplicadas y me da error pues no puede convertir IPAddress to String...

Código (vbnet) [Seleccionar]


Dim myClientMachineAddressList As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
Dim myClientMachineIP = myClientMachineAddressList.AddressList.Where(Function(a) a.AddressFamily = AddressFamily.InterNetwork).ToArray()

'El codigo para elminar duplicados es el siguiente pero no logro adaptarlo

Dim int32List As New List(Of String)

int32List = myClientMachineIP.Distinct(EqualityComparer(Of Integer).Default).ToArray



A lo mejor y puedo hacerlo directo con myClientMachineIP y me evito declarar otra variable.

Saludos y gracias desde ya.

**Aincrad**

#1
Solo tengo una PC, y tengo internet (uso los datos del telefono enlazado a anclaje de red) . por lo tanto solo hay una IP en mi red.

*Deberia Funcionar ya.....  :P

Código (vbnet) [Seleccionar]
'obtenemos ip
       Dim myClientMachineAddressList As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
       Dim myClientMachineIP = myClientMachineAddressList.AddressList.Where(Function(a) a.AddressFamily = AddressFamily.InterNetwork).ToArray

       'Eliminamos Duplicados y sobre-escribimos en la misma variable.
       myClientMachineIP = myClientMachineIP.Distinct(EqualityComparer(Of IPAddress).Default).ToArray

       'recorremos los duplicados 1 por 1 y los pamos a un textbox (como string) .
       For Each ipadress In myClientMachineIP
           TextBox2.Text = TextBox2.Text & vbNewLine & ipadress.ToString
       Next


Bien si te preguntas que estabas haciendo mal. (Realmente no soy bueno explicando)

hay varias cosas que veo mal en tu code.  Por ejemplo:

1) Como puede haber 2 IPs iguales en una misma red?? no deberian haber duplicados , en todo caso, no se si eso pueda pasar.

2) la funcion con la que obtienes las IPs es del tipo IPAddress, y tu intentas eliminar los duplicados señalando que es tipo Integer ademas de que la lista int32List las estas declarando como String en (New List(Of String)) , bueno ahi esta el error, ya deberia funcionar.