stringtranslate.com

¿Funciones?

Las Isfunciones (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 .

¿Qué hacen las funciones?

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 Booleanvalor 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 Trueun Falseregistro Booleande si la expresión del argumento es de un tipo particular.

En Transact-SQL, las funciones devuelven cero o uno en lugar de Booleanvalores Truey False.

IsArray(name)
Esta función determina si el nombre de la variable que se pasa como argumento es una matriz. Tenga en cuenta que las matrices no inicializadas retornarán Falsede 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á Truede esta función al igual que una matriz inicializada. [8]
IsDate(expression)
Esta función determina si la expresión pasada como argumento se puede convertir en una variable de tipo Date, o si ya es de tipo Date. Las variables no inicializadas que son de tipo Datese pueden convertir, por supuesto, a pesar de no estar inicializadas, por lo que esta función siempre devolverá un resultado de error Truepara 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)
Esta función determina si la expresión pasada como argumento se evalúa como 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 = DbNullse evaluará como DbNullsimplemente porque contiene un valor nulo. IsDBNull()es la única forma de comprobar la igualdad con System.DBNull. [12]
IsEmpty(expression)
Esta función determina si la expresión pasada como argumento es una variante no inicializada. Tenga en cuenta que una variante no inicializada es distinta de una variante que se ha inicializado para contener 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)
Esta función, en Visual Basic .NET, determina si la expresión pasada como argumento es un objeto de excepción, es decir, un objeto de la System.Exceptionclase 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)
Esta función determina si el nombre de la variable que se pasa como argumento es un argumento opcional que no fue pasado a una función por su llamador. Devuelve Truesolo 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)
Esta función determina si la expresión pasada como argumento se evalúa como 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             
El efecto de esto es que se retorna Falsepara 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 ISoperador para comparar un objeto directamente con Nothing, escribiendo expression IS Nothingen 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)FalseTrueFalse
IsNull(expression)
Esta función determina si la expresión que se pasa como argumento se evalúa como 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)
Esta función, que toma dos argumentos, es específica de Transact-SQL. A diferencia de la función de Visual Basic con este nombre, no devuelve un 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 NULLvalor con otro valor, presumiblemente (pero no necesariamente) no NULL. [23] Es una versión de dos argumentos de COALESCE().
IsNumeric(expression)
Esta función determina si la expresión pasada como argumento se puede convertir en un número (ya sea un Short, Integer, Long, Single, Doubleo 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 moneyy smallmoneytipos 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)
Esta función determina si la expresión pasada como argumento es un objeto en lugar de un valor. [4] Esto es equivalente a la función de Visual Basic .NET IsReference(). [10]
IsReference(expression)
Esta función determina si la expresión pasada como argumento es una referencia en lugar de un valor. [24]IsObject() Esto es equivalente a la función de Visual Basic 6. [10]

Referencias

¿Qué apoya a qué?

  1. ^ Marcus y Levy 2002, págs. 750–751.
  2. ^ Roman, Petrusha y Lomax 2002b, págs. 394 y siguientes.
  3. ^ Harris 1999, págs. 402–403.
  4. ^ desde Knittel 2002, pág. 609.
  5. ^ Harris 1999, pág. 402.
  6. ^ desde Perry y Hettihewa 1998, pág. 237.
  7. ^ ab Roman, Petrusha y Lomax 2002a, pág. 69.
  8. ^ Roman, Petrusha y Lomax 2002b, págs. 394–395.
  9. ^ abc Roman, Petrusha y Lomax 2002a, pág. 86.
  10. ^ abcd Petroutsos 2002, pag. 115.
  11. ^ desde Lomax, Childs y Petrusha 2003, pág. 341.
  12. ^ ab Roman, Petrusha y Lomax 2002b, págs. 395.
  13. ^ Harris 1999, pág. 416.
  14. ^ Wakefield y Sonder 2001, pág. 690.
  15. ^ desde Lomax, Childs y Petrusha 2003, pág. 342.
  16. ^ Roman, Petrusha y Lomax 2002b, págs. 397.
  17. ^ Petrusha 2006, pag. 367.528.637.
  18. ^ abc Petrusha 2006, pág. 438.
  19. ^ desde Steele 2005a.
  20. ^ Steele 2005b.
  21. ^ Roman, Petrusha y Lomax 2002b, págs. 394.
  22. ^ Israel y Jones 2001, pág. 476.
  23. ^ Precio 2003, pág. 119.
  24. ^ ab Roman, Petrusha y Lomax 2002a, pág. 87.
  25. ^ Petroutsos 2002, pág. 114.
  26. ^ MSDN y 1.
  27. ^ Lomax, Childs y Petrusha 2003, pág. 343.

Fuentes utilizadas

Lectura adicional

Documentación en línea de Microsoft

Otro