Las Is
funciones (también conocidas como funciones de información de datos , [5] funciones de inspección de datos , [6] o funciones de prueba de datos [6] ) son un conjunto de funciones presentes en Visual Basic 6 , Visual Basic para Aplicaciones , VBScript y Visual Basic .NET de Microsoft . Varias de ellas también se proporcionan en Transact-SQL mediante el proveedor de datos de .NET Framework para Microsoft SQL Server .
Las funciones son funciones simples de validación de datos y verificación de tipo de datos. Las funciones de validación de datos determinan si es posible convertir o forzar el valor de los datos dado como argumento a la función al tipo implícito en el nombre de la función, y devuelven un Boolean
valor que registra si fue posible o no. (Tenga en cuenta que las funciones de conversión de datos reales, como Oct()
arrojar excepciones si la conversión no es posible, permiten probar si una conversión fallaría y cambiar el flujo de control del programa en una declaración if ). indica que la conversión sería posible, indica que no lo sería. De manera similar, las funciones de verificación de tipo devuelven True
un False
registro Boolean
de si la expresión del argumento es de un tipo particular.
En Transact-SQL, las funciones devuelven cero o uno en lugar de Boolean
valores True
y False
.
IsArray(name)
False
de esta función en Visual Basic .NET. [7] En Visual Basic 6, las matrices no son tipos de referencia y una matriz no inicializada retornará True
de esta función al igual que una matriz inicializada. [8]IsDate(expression)
Date
, o si ya es de tipo Date
. Las variables no inicializadas que son de tipo Date
se pueden convertir, por supuesto, a pesar de no estar inicializadas, por lo que esta función siempre devolverá un resultado de error True
para dichas variables. [9] Tenga en cuenta que las cadenas que contienen un día de la semana además de una fecha (por ejemplo, "Sat, October 12, 2010"
) devolverán un resultado de error. [10] En VBScript y Visual Basic .NET, el proceso de conversión emplea la configuración regional de Microsoft Windows, lo que significa que lo que puede analizarse como una fecha en un sistema, configurado para usar una configuración regional, puede no analizarse como una fecha en otro sistema, configurado para usar una configuración regional diferente. [11] [12]IsDBNull(expression)
System.DBNull.Value
. [9]IsNull()
Esto es equivalente a la función de Visual Basic 6. [10] Tenga en cuenta que no es posible comparar directamente una expresión para determinar su igualdad con System.DBNull
, porque cualquier expresión de la forma x = DbNull
se evaluará como DbNull
simplemente porque contiene un valor nulo. IsDBNull()
es la única forma de comprobar la igualdad con System.DBNull
. [12]IsEmpty(expression)
Null
. [13] Aunque la función toma una expresión, en lugar de simplemente un nombre de variable, cualquier expresión que no sea simplemente un nombre de variable se considera que no es una variante no inicializada. [11] Esta función estaba disponible en Visual Basic 6, pero ha sido reemplazada en Visual Basic .NET por la IsNothing()
función . [14] En VBScript, si se asigna una variante Nothing
, esta función aún devuelve False
. [15]IsError(expression)
System.Exception
clase o de una de sus subclases. [7]vbError
En Visual Basic 6, la función prueba si la expresión es una variante con el subtipo especial . [16]IsMissing(name)
True
solo si la variable es una variante que no se ha inicializado. Esta función solo existe en Visual Basic 6. En Visual Basic .NET, se requiere que los parámetros opcionales tengan inicializadores predeterminados y la función ya no existe. [17]IsNothing(expression)
Nothing
. [9] Es una función de biblioteca simple (que comprende solo 4 instrucciones CIL ) que se puede escribir en Visual Basic como: [18] [19] Función pública compartida IsNothing ( expresión ByVal como objeto ) como retorno booleano ( la expresión no es nada ) Fin de la función
False
para todas las expresiones de valor (no de referencia), porque se envolverán, como parte de la llamada de función, en objetos, que por su propia naturaleza, no serán objetos nulos. [18] [19] Para evitar este comportamiento, se puede usar el IS
operador para comparar un objeto directamente con Nothing
, escribiendo expression
IS Nothing
en lugar de . El compilador generará un error en tiempo de compilación si la expresión comparada es un valor en lugar de un tipo de referencia, detectando la falta de coincidencia de tipos en tiempo de compilación en lugar de simplemente retornando en tiempo de ejecución. [20] Las cadenas son tipos de referencia en Visual Basic .NET, y por lo tanto capaces de ser nulas (a diferencia de simples cadenas vacías de longitud cero). Para tales cadenas, esta función retorna . (Para cadenas vacías retorna .) [21] [18]IsNothing(expression)
False
True
False
IsNull(expression)
Null
. Un valor nulo en cualquier subexpresión de la expresión hace que toda la expresión se considere nula. [15]IsNull(expression1,expression2)
Boolean
, sino que devuelve la primera expresión si no es NULL
, de lo contrario, la segunda expresión. [22] El propósito de la función es reemplazar cualquier NULL
valor con otro valor, presumiblemente (pero no necesariamente) no NULL
. [23] Es una versión de dos argumentos de COALESCE()
.IsNumeric(expression)
Short
, Integer
, Long
, Single
, Double
o Decimal
) a partir de un carácter o cadena, o si ya es un número. [24] [25] En Transact-SQL, las cadenas se pueden convertir en números incluso si contienen caracteres que uno no esperaría encontrar en números. Esto se debe a que Transact-SQL permite la conversión de money
y smallmoney
tipos a números, y los datos monetarios en formato de cadena pueden contener caracteres indicadores de moneda, como los símbolos ' £
' o ' $
'. [26] Lo mismo se aplica a VBScript, donde cualquier cadena que se pueda convertir en un valor de moneda en la configuración regional actual se considera numérica. Sin embargo, VBScript no considera que las fechas y horas sean numéricas. [27]IsObject(expression)
IsReference()
. [10]IsReference(expression)
IsObject()
Esto es equivalente a la función de Visual Basic 6. [10]Microsoft.VisualBasic
espacio de nombres . Microsoft .Microsoft.VisualBasic
espacio de nombres . Microsoft .Microsoft.VisualBasic
espacio de nombres . Microsoft .Microsoft.VisualBasic
espacio de nombres . Microsoft .Microsoft.VisualBasic
espacio de nombres . Microsoft .Microsoft.VisualBasic
espacio de nombres . Microsoft .Microsoft.VisualBasic
espacio de nombres . Microsoft .