La matriz mencionada en este artículo es la definición de matrices en Visual Basic, que tiene cierto valor de referencia para la programación ASP.
Una matriz es una colección de datos ordenados. Los elementos en una matriz pueden no pertenecer al mismo tipo de datos. Use un nombre de matriz unificado y un subíndice para determinar de manera única los elementos en la matriz. Los subíndices de una matriz están limitados y se dividen en límites inferiores y límites superiores. Las matrices se pueden declarar con tenue, privado, público o estático, y sus formatos de sintaxis son los mismos. El siguiente es solo el método para declarar matrices usando DIM.
1. Definición y declaración de matrices
La sintaxis de definición de una matriz es la siguiente:
Nombre de la matriz Dim ([[subíndice inferior límite] subíndice superior]) [como tipo de datos]
Por ejemplo (suponiendo que el límite inferior predeterminado de la matriz en el módulo actual es 0)):
① Dim a (10) como entero
Significa que el nombre de la matriz es A. El límite inferior de este subíndice de matriz es el valor predeterminado 0, el límite superior del subíndice es 10, y hay 11 elementos de tipo entero, de A (0), A (1) a un (10).
② Dim B (1 a 20) como entero
Significa que el nombre de la matriz es B. El límite inferior de esta matriz es 1, el límite superior del subíndice es 20 y hay 20 elementos de tipo entero, de B (1) a B (20).
③Dim DayArray (50)
Indica que DayArray es una matriz de variantes con 51 índices (de 0 a 50) elementos.
④Dim Matrix (3, 4) como entero
Indica que la matriz es una matriz entera bidimensional.
⑤dim mymatrix (1 a 5, 4 a 9, 3 a 5) como doble
Indica que MyMatrix es una matriz doble tridimensional que especifica explícitamente los límites superior e inferior.
⑥dim cumpleaños (1 a 10) como fecha
Indica que el cumpleaños es una matriz de cita con índices del 1 al 10.
2. Declaración de base de opciones
La declaración de base de opciones se utiliza en el nivel del módulo y se utiliza para declarar el límite inferior predeterminado de los subíndices de matriz.
La sintaxis de la declaración de base de opciones es la siguiente:
Base de opciones {0 |
Nota: El límite inferior de la matriz es 0 por defecto, y no es necesario usar la instrucción de base de opciones. Si usa esta declaración para especificar la matriz inferior de límite 1, debe usar la instrucción de base de opciones antes de la declaración de matriz del módulo.
Aviso:
(1) Las cláusulas de las declaraciones tenues, privadas, públicas, redimentos y estáticas proporcionan una forma más flexible de controlar el subíndice de una matriz. Sin embargo, si el límite inferior no se especifica explícitamente usando la cláusula TO, puede establecer el límite inferior predeterminado en 1 usando la base de opciones. Los límites inferiores de una matriz creada usando la función de matriz también están determinados por los límites inferiores especificados por la declaración de base de opciones, a menos que la matriz esté calificada por el nombre de la biblioteca de tipos (como vba.array), si se califica por el nombre de la biblioteca de tipos, La matriz creada usando la función de matriz también está determinada por el nombre de la función de matriz.
(2) La declaración de base de opciones solo afecta los límites inferiores de la matriz ubicada en el módulo que contiene la declaración.
Algunas notas sobre la declaración de matriz:
① Las reglas de nombres de nombre de la matriz son las mismas que los nombres de variables.
② El nombre de la matriz está envuelto entre paréntesis, y los soportes cuadrados no se pueden usar, lo cual es diferente del lenguaje C.
③ El límite inferior del subíndice no debe ser mayor que su límite superior.
④ Puede usar nombres de variables o nombres constantes (y números reales) como el límite para los subíndices. Cuando el límite del índice es un nombre constante, el tamaño de la matriz se fija. El valor de la variable durante la operación del programa. Por lo tanto, las matrices en VB se pueden dividir en dos tipos: matrices estáticas y matrices dinámicas.
3. Matriz estática
Una matriz estática significa que el número de elementos de matriz es fijo y sin cambios, es decir, el tamaño del espacio de memoria que ocupan es fijo y sin cambios. Dependiendo de las diferentes dimensiones de una matriz de tamaño fijo, se puede dividir en matrices unidimensionales y matrices multidimensionales.
El formato de sintaxis para declarar matrices multidimensionales es:
Nombre de la matriz Dim ([Lista de límites de subíndice]) [como tipo de datos]
El formulario de definición del límite de subíndice: [subíndice límite inferior a] subíndice límite superior
La lista de límites del subíndice se refiere al límite de subíndice de cada dimensión de una matriz separada por una coma, es decir, es,
[Subíndice inferior límite a] subíndice límite superior, [subíndice límite inferior] de límite superior de subíndice, ..., [subíndice inferior límite] subíndice límite superior
(Primera dimensión) (segunda dimensión) (enésima dimensión)
Cuando N = 1, la matriz se llama una matriz unidimensional;
Los siguientes ejemplos se utilizan para introducir el uso de matrices unidimensionales.
'Declarar una matriz de cuerdas de longitud 51 Nombre de amigos
Nombre de amigos de Dim (50) como cadena
'Declarar una matriz global de enteros de longitud 11
Clase pública (10) como entero
El número de elementos en una matriz unidimensional es (límite superior límite-bajo+1).
Para asignar valores iniciales a una matriz, se pueden usar declaraciones de bucle, como:
Dim I como entero
Para i = 0 a 11 'Control del uso del flujo del programa de las declaraciones de bucle
C (i) = i
Siguiente
Si el subíndice inferior no se especifica explícitamente, el límite inferior del subíndice de la matriz está controlado por la declaración de base de opciones. Si no hay una declaración de base de opciones, el límite inferior es predeterminado a 0.
Las dimensiones de una matriz no se limitan a 2. En VB, se puede ampliar a 60. En aplicaciones prácticas, no hay muchas aplicaciones para matrices por encima de la tridimensionalidad. Al definir una matriz multidimensional, solo necesita una declaración DIM para especificar todos los límites de subíndice de la matriz. Por ejemplo:
Beneficio de DIM (16,10,12) como moneda
Esta matriz de ganancias se puede utilizar para representar las ganancias de una tienda por departamentos con el nombre de la tienda, el departamento y el mes como parámetros. Por ejemplo: las ganancias (2,8,11) representa la ganancia del octavo departamento de la segunda sucursal en noviembre.
4. Matriz dinámica
A veces, antes de que la matriz comience a usarse, es imposible saber qué tan grande se necesita la matriz para satisfacer las necesidades reales. Por supuesto, el tamaño de la matriz se puede definir lo suficientemente grande como para satisfacer las necesidades de aplicación práctica. Si usa matrices dinámicas, puede definir con precisión el tamaño de la matriz de acuerdo con las necesidades reales cuando el programa se está ejecutando.
Al declarar una matriz, no dar una lista de dimensiones es declarar la matriz como una matriz dinámica. Por ejemplo:
Dim myarry () como entero
Antes de usar matrices dinámicas, debe redefinirse utilizando la instrucción REDIM. Como la matriz Myarry declaró anteriormente, puede usar la siguiente declaración para definirla como una matriz dinámica bidimensional.
Redim Myarry (10,10)
También puede definir matrices dinámicas varias veces ejecutando repetidamente declaraciones de redim. La dimensión máxima de una matriz que se puede definir usando redim es 60. La instrucción REDIM puede cambiar el número de elementos por dimensión de una matriz, pero no puede cambiar el número de dimensiones. El siguiente es un ejemplo de una aplicación estándar de la instrucción REDIM.
Dim myArry () como soltero 'declara una matriz dinámica
Redim Myarry (30,20,10) 'Redefine la matriz
Redim Myarry (50,23,21) 'Redefine la matriz nuevamente
La sintaxis de Redim es la misma que la de Dim, y también tiene la opción de la palabra clave Preserve:
Redim Preserve Nombre de la matriz ([[[subíndice inferior ligado a] subíndice superior]) [como tipo de datos]
Por ejemplo:
?
- Redimmyarry (50,23,21)
- RedImpervemyarry (50,23,50)