Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo definir una matriz de cadenas de longitud variable en VB?

¿Cómo definir una matriz de cadenas de longitud variable en VB?

A veces no se sabe qué tamaño debe tener una matriz. Así que espero tener la capacidad de cambiar el tamaño de la matriz en tiempo de ejecución. Las matrices dinámicas pueden cambiar de tamaño en cualquier momento. En Visual Basic, las matrices dinámicas son las más flexibles y convenientes y ayudan a administrar la memoria de manera eficiente. Por ejemplo, puede utilizar una matriz grande durante un período breve y luego liberar espacio de memoria para el sistema cuando la matriz no esté en uso. Si no utiliza una matriz dinámica, declare una matriz con el tamaño más grande posible y luego borre los elementos innecesarios. Sin embargo, si este método se usa excesivamente, hará que el entorno operativo de la memoria se ralentice. Para crear una matriz dinámica, siga estos pasos: Declare la matriz con la declaración Public (si desea que la matriz sea pública) o (si desea que la matriz esté a nivel de módulo) declare la matriz a nivel de módulo con Dim declaración, o (si desea que la matriz sea una matriz local, entonces) declare la matriz con una declaración Estática o Dim en el procedimiento. Declare la matriz como una matriz dinámica agregándole una tabla de dimensiones vacía. Dim DynArray () utiliza la declaración ReDim para asignar el número real de elementos. ReDim DynArray (X + 1) La declaración ReDim solo puede aparecer dentro de un procedimiento. A diferencia de la declaración Dim y la declaración estática, la declaración ReDim es una declaración ejecutable. Debido a esta declaración, la aplicación realiza una operación en tiempo de ejecución. La declaración ReDim admite la misma sintaxis que se usa con matrices fijas. Para cada dimensión, cada declaración ReDim puede cambiar la cantidad de elementos, así como los límites superior e inferior. Sin embargo, las dimensiones de la matriz no se pueden cambiar. ReDim DynArray (4 a 12) Por ejemplo, use la primera declaración para crear una matriz dinámica Matrix1 a nivel de módulo: Dim Matrix1 () As Integer Luego, asigne espacio a la matriz en el proceso: ReDim Matrix1 (19, 29)End Sub aquí La declaración ReDim asigna una matriz entera de 20 × 30 a Matrix (el tamaño total del elemento es 600). También hay una manera de establecer los límites de una matriz dinámica usando variables: ReDim Matrix1 (X, Y) Nota Puede asignar una cadena a una matriz de bytes de tamaño variable. También se puede asignar una matriz de bytes a una cadena de longitud variable. Es importante tener en cuenta que la cantidad de bytes en la cadena variará según la plataforma. La misma cadena tiene el doble de bytes en una plataforma Unicode que en una plataforma que no es Unicode. Preservar el contenido de las matrices dinámicas Cada vez que se ejecuta una instrucción ReDim, se pierden todos los valores actualmente almacenados en la matriz. Visual Basi restablece el valor de un elemento de matriz a Vacío (para una matriz Variant), a 0 (para una matriz numérica), a una cadena de longitud cero (para una matriz de cadenas) o a Nada (para una matriz de objetos). . Esto resulta útil al preparar una matriz para datos nuevos o cuando desea reducir el tamaño de la matriz para ahorrar memoria. A veces desea cambiar el tamaño de una matriz sin perder los datos de la matriz. Esto se hace usando la declaración ReDim con la palabra clave Preserve. Por ejemplo, use la función UBound para hacer referencia al límite superior, de modo que la matriz se expanda y agregue un elemento, pero el valor del elemento existente no se pierda: ReDim Preserve DynArray (UBound (DynArray) + 1) Cuando se usa la palabra clave Preserve , solo se pueden cambiar matrices multidimensionales. Si se cambia el límite superior de otras dimensiones o la última dimensión, se producirá un error de tiempo de ejecución. Entonces se puede programar así: ReDim Preserve Matrix (10, UBound (Matrix, 2) + 1) pero no así: