none
Declarar Propiedad del tipo Byte RRS feed

  • Pregunta

  • Mi duda es la siguiente:

    Lo que pasa es que declare una propiedad de está manera:

    Private foto As Byte
        Public Property PFoto As Byte
            Get
                Return foto
            End Get
            Set(value As Byte())
                foto = value
            End Set
        End Property

    Pero al tratar de usarlo de está manera me marco error. Entonces hice un pequeño cambio:

    Private foto As Byte()
        Public Property PFoto As Byte()
            Get
                Return foto
            End Get
            Set(value As Byte())
                foto = value
            End Set
        End Property

    Entonces al parecer esto esta bien. Pero ¿Cual es la diferencia que lleve o no paréntesis? y ¿esto aplica para los demás tipos de datos?

    Y eso que encontré otros ejemplos donde dentro del paréntesis llevan una coma (,).

    Muchas gracias por sus explicaciones de antemano. 

    Nota: mil disculpas, porque creo que esto es de muy  de novatos :)

    viernes, 26 de febrero de 2016 16:47

Respuestas

  • Los paréntesis indican que estás definiendo una matriz o array de elementos.

    Es decir, al declarar una variable como Byte (Dim value As Byte) estás declarando una variable que puede almacenar un byte, mientras que al declarar una variable como Byte (Dim value As Byte()) estás declarando una matriz de elementos Byte donde la variable value puede almacenar una serie de valores Byte.

    En el primer caso para recuperar el Byte almacenado en la variable se recupera el valor de la variable (Dim valor = value), mientras que en el segundo caso para recuperar un Byte concreto de la matriz deberás indicar el índice que representa la posición del Byte dentro de la matriz (Dim valor = value(4))

    Al declarar una variable con el formato value As Byte(,) lo que haces es declarar una matriz bidimensional en la que los elementos se acceden a través de dos índices (uno por cada dimensión): Dim valor = value(2,4)

    Puedes obtener más información sobre el uso de matrices en:

    Matrices en Visual Basic


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 27 de febrero de 2016 11:27
  • La diferencia entre Byte y Byte() es que el primero es un solo byte y el segundo es un array de bytes. Y el motivo de que tu primer ejemplo arroje un error es que has mezclado las dos cosas, es decir, en unos sitios usas Byte y en otro sitio usas Byte(). Es lícito declarar una propiedad que maneje un único byte, y también es lícito declarar una propiedad que maneje un array de bytes, pero lo que no puedes hacer es mezclar las dos cosas a la vez en distintos sitios de una sola propiedad.
    sábado, 27 de febrero de 2016 12:31

Todas las respuestas

  • Los paréntesis indican que estás definiendo una matriz o array de elementos.

    Es decir, al declarar una variable como Byte (Dim value As Byte) estás declarando una variable que puede almacenar un byte, mientras que al declarar una variable como Byte (Dim value As Byte()) estás declarando una matriz de elementos Byte donde la variable value puede almacenar una serie de valores Byte.

    En el primer caso para recuperar el Byte almacenado en la variable se recupera el valor de la variable (Dim valor = value), mientras que en el segundo caso para recuperar un Byte concreto de la matriz deberás indicar el índice que representa la posición del Byte dentro de la matriz (Dim valor = value(4))

    Al declarar una variable con el formato value As Byte(,) lo que haces es declarar una matriz bidimensional en la que los elementos se acceden a través de dos índices (uno por cada dimensión): Dim valor = value(2,4)

    Puedes obtener más información sobre el uso de matrices en:

    Matrices en Visual Basic


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 27 de febrero de 2016 11:27
  • La diferencia entre Byte y Byte() es que el primero es un solo byte y el segundo es un array de bytes. Y el motivo de que tu primer ejemplo arroje un error es que has mezclado las dos cosas, es decir, en unos sitios usas Byte y en otro sitio usas Byte(). Es lícito declarar una propiedad que maneje un único byte, y también es lícito declarar una propiedad que maneje un array de bytes, pero lo que no puedes hacer es mezclar las dos cosas a la vez en distintos sitios de una sola propiedad.
    sábado, 27 de febrero de 2016 12:31
  • Muchas gracias por sus respuestas, me ha quedado más claro.
    martes, 1 de marzo de 2016 14:50
  • disculpe buenos dias, quizas es un poco tarde pero es lo mismo declarar "Dim valor = value(4)" que "Dim byTmpData(2000) As Byte"

    no entiendo la segunda sentencia de declaración me podría ayudar?

    gracias.

    miércoles, 20 de noviembre de 2019 16:25
  • [...] "Dim byTmpData(2000) As Byte"

    no entiendo la segunda sentencia de declaración me podría ayudar?

    Cuando haces

    Dim A(B) As C

    significa: "Declaramos una variable que se llama A y cuyo contenido es un array con capacidad para un numero B de elementos de tipo C".

    En el ejemplo que has puesto, byTmpData es un array con 2000 elementos, cada uno de los cuales es un Byte.

    miércoles, 20 de noviembre de 2019 17:07