Crear estructuras con limite en variables

Iniciado por Zeroql, 11 Febrero 2010, 15:12 PM

0 Miembros y 2 Visitantes están viendo este tema.

Zeroql

Buenas
bueno resulta que necesito crear una estructura pero necesito darle un tamaño a las variables string como se hacia en vb 6.0
algo asi
Código (vb) [Seleccionar]

public type Datos
   nombre as string *20
   Apellido as string *20
end type


He buscado como hacer esto en vb.net y no logro dar con nada

Si alguien sabe porfavor que me diga..
gracias
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


raul338

Utiliza la clase StringBuilder del namespace System.Text que su constructor tiene el numero maximo de caracteres que puede aceptar. Y te convendria usar clases en lugar de tipos (tipos en vb6 = structuras en .net)

seba123neo

importas
Código (vbnet) [Seleccionar]

Imports System.Runtime.InteropServices


y despues haces:

Código (vbnet) [Seleccionar]
Private Structure Datos
        Dim Nombre As String
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=20)> _
        Dim Apellido As String
       <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=20)> _
End Structure


saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

MANULOMM

#3
Nunca pero NUNCA hagas esto si no es absolutamente necesario.
Cita de: seba123neo en 12 Febrero 2010, 01:34 AM
importas
Código (vbnet) [Seleccionar]

Imports System.Runtime.InteropServices


y despues haces:

Código (vbnet) [Seleccionar]
Private Structure Datos
        Dim Nombre As String
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=20)> _
        Dim Apellido As String
       <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=20)> _
End Structure


saludos.

Lo del StringBuilder esta bueno y ademas consume menos memoria.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


raul338

Jamas vi eso, pero.... no me convence

El StringBuilder es nativo del framework. Y para obtener su valor final es ".ToString()" ;-)

MANULOMM se te olvido cerrar la cita  :silbar:  :xD

Zeroql

Muchachos muchas gracias por la ayuda...
me sirvio mucho lo del StringBuilder
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#


MANULOMM

Corregido!!!  :xD


Atentamente,

Juan Manuel Lombana
Medellín - Colombia