Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: matiasramos en 14 Junio 2013, 18:41 pm



Título: Simplificar codigo
Publicado por: matiasramos en 14 Junio 2013, 18:41 pm
hola alguien sabe como podria hacer para no usar tantas lineas:

    Shared client As UdpClient
    Shared client2 As UdpClient
    Shared client3 As UdpClient
    Shared client4 As UdpClient
    Shared client5 As UdpClient
    Shared client6 As UdpClient
    Shared client7 As UdpClient
    Shared client8 As UdpClient
    Shared client9 As UdpClient
    Shared client10 As UdpClient

asi hasta el 500 tengo, hay alguna forma con algun for para que sea menos codigo?


Título: Re: Simplificar codigo
Publicado por: XresH en 14 Junio 2013, 18:49 pm
Con for no pero podés simplificar así mira:

Código:
Shared client, Client2, Cliente3 As UdpClient


Y asi todas las variables que tengas y/o las líneas que quieras.

Saludos.


Título: Re: Simplificar codigo
Publicado por: Eleкtro en 14 Junio 2013, 19:00 pm
Más fácil:

Código
  1. Public Class Form1
  2.  
  3.    Shared Clients(500) As System.Net.Sockets.UdpClient
  4.  
  5.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  6.        For X As Int64 = 0 To Clients.Count - 1 : Clients(X) = New System.Net.Sockets.UdpClient : Next
  7.    End Sub
  8.  
  9. End Class

Saludos!


Título: Re: Simplificar codigo
Publicado por: XresH en 14 Junio 2013, 20:25 pm
Más fácil:

Código
  1. Public Class Form1
  2.  
  3.    Shared Clients(500) As System.Net.Sockets.UdpClient
  4.  
  5.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  6.        For X As Int64 = 0 To Clients.Count - 1 : Clients(X) = New System.Net.Sockets.UdpClient : Next
  7.    End Sub
  8.  
  9. End Class

Saludos!

Que suerte que hay gente que esta mas atenta, una variable seguida de un numero y todas iguales, lo haces array.

Mas que fácil, re sencilllo

Gracias elektro, sorry por la distracción (La triste vida de un noob :P)

Saludos.


Título: Re: Simplificar codigo
Publicado por: Eleкtro en 14 Junio 2013, 20:39 pm
Que suerte que hay gente que esta mas atenta, una variable seguida de un numero y todas iguales, lo haces array.

Cuantas más soluciones mejor, aunque sean largas o cortas, así hay más donde elegir,
Lo de concatenar las declaraciones lo hemos hecho todos alguna vez... así que yo también soy noob xD.

Saludos!


Título: Re: Simplificar codigo
Publicado por: ABDERRAMAH en 17 Junio 2013, 00:25 am
a mi me gusta usar una lista gestionada, mejor que un array que sería la solución de toda la vida. La diferencia es que se redimensiona automáticamente así que no hay que indicar ni cambiar los límites.

Código
  1. Public Class Form1
  2.  
  3.    Shared Clients As new list(of string)
  4.  
  5.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  6.        For X As Int64 = 0 To 499 : Clients.add(New System.Net.Sockets.UdpClient) : Next
  7.    End Sub
  8.  
  9. End Class

funciona igual, y se puede transformar a array con list.toarray y viceversa con array.tolist .


Título: Re: Simplificar codigo
Publicado por: birik en 21 Junio 2013, 12:16 pm
a mi me gusta usar una lista gestionada, mejor que un array que sería la solución de toda la vida. La diferencia es que se redimensiona automáticamente así que no hay que indicar ni cambiar los límites.

Código
  1. Public Class Form1
  2.  
  3.    Shared Clients As new list(of string)
  4.  
  5.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  6.        For X As Int64 = 0 To 499 : Clients.add(New System.Net.Sockets.UdpClient) : Next
  7.    End Sub
  8.  
  9. End Class

funciona igual, y se puede transformar a array con list.toarray y viceversa con array.tolist .

Yo me decantaría por esta solución por el simple hecho de la lista, ya que si queremos añadir mas quitar o lo que sea no nos tenemos que comer la cabeza

Saludos


Título: Re: Simplificar codigo
Publicado por: Crazy.sx en 23 Junio 2013, 06:18 am
No se rían, pero ¿para qué sirven esos : (dos puntos) en el código?

¿Ese sería lo que se ejecuta dentro del For, tan solo eso?


Título: Re: Simplificar codigo
Publicado por: Eleкtro en 23 Junio 2013, 06:39 am
¿para qué sirven esos : (dos puntos) en el código?

¿Ese sería lo que se ejecuta dentro del For, tan solo eso?

No, es la forma para concatenar secuencias de "comandos" en VBNET.

...Igual que en Batch puedes hacer esto:
Código
  1. Echo 1 & echo 2

...O en Python puedes hacer esto otro:
Código
  1. print "1"; print "2"

...Pues en VBNET se hace así:
Código
  1. msgbox("1") : msgbox("2")

Saludos!


Título: Re: Simplificar codigo
Publicado por: Crazy.sx en 24 Junio 2013, 21:00 pm
No, es la forma para concatenar secuencias de "comandos" en VBNET.

...Igual que en Batch puedes hacer esto:
Código
  1. Echo 1 & echo 2

...O en Python puedes hacer esto otro:
Código
  1. print "1"; print "2"

...Pues en VBNET se hace así:
Código
  1. msgbox("1") : msgbox("2")

Saludos!
:o :o
Gracias, la verdad que no tenía idea de esto.

Saludos che.


Título: Re: Simplificar codigo
Publicado por: Novlucker en 24 Junio 2013, 21:09 pm
Utilizar con criterio :xD, hace parecer que fuera menos código, pero puede resultar menos legible.

Saludos