Jump to content

Есть функции

Доступность функции
Имя функции ВБ 6 [1] [2] ВБА [3] VBScript [4] ВБ .NET Т-SQL
IsArray Да Да Да Да Нет
IsDate Да Да Да Да Да
IsDBNull Нет Нет Нет Да Нет
IsEmpty Да Да Да Нет Нет
IsError Да Да Нет Да Нет
IsMissing Да Да Нет Нет Нет
IsNothing Нет Нет Нет Да Нет
IsNull Да Да Да Нет Да
IsNumeric Да Да Да Да Да
IsObject Да Да Да Нет Нет
IsReference Нет Нет Нет Да Нет

The Is функции (также известные как функции информации о данных , [5] функции проверки данных , [6] или функции тестирования данных [6] ) — это набор функций Microsoft Visual Basic 6 , Visual Basic for Applications , VBScript и Visual Basic .NET . Некоторые из них также предоставляются в Transact-SQL поставщиком данных .NET Framework для Microsoft SQL Server .

Что делают функции

[ редактировать ]

Функции представляют собой простые функции проверки данных и типа данных. Функции проверки данных определяют, возможно ли преобразовать или привести значение данных, переданное в качестве аргумента функции, к типу, подразумеваемому именем функции, и возвращают Boolean запись стоимости, было ли это возможно или нет. (Обратите внимание, что фактические функции преобразования данных, такие как Oct() выдавать исключения, если преобразование невозможно. Функции проверки позволяют проверить, завершится ли преобразование неудачно, и изменить поток управления программой с помощью оператора if .) True указывает на то, что преобразование возможно, False указывает на то, что этого не будет. Аналогично, функции проверки типов возвращают Boolean запись того, относится ли выражение аргумента к определенному типу.

В Transact-SQL функции возвращают ноль или единицу, а не Boolean ценности True и False.

IsArray(name)
Эта функция определяет, является ли имя переменной, переданное в качестве ее аргумента, массивом. Обратите внимание, что неинициализированные массивы возвращают False из этой функции в Visual Basic .NET. [7] В Visual Basic 6 массивы не являются ссылочными типами, и неинициализированный массив возвращает значение True из этой функции точно так же, как из инициализированного массива. [8]
IsDate(expression)
Эта функция определяет, можно ли преобразовать выражение, переданное в качестве аргумента, в переменную типа Date, или уже имеет тип Date. Неинициализированные переменные типа Date конечно, можно преобразовать, несмотря на то, что он не инициализирован, поэтому это всегда будет возвращать True для таких переменных. [9] Обратите внимание, что строки, содержащие помимо даты день недели (например, "Sat, October 12, 2010") вернет неудачный результат. [10] В VBScript и Visual Basic .NET процесс преобразования использует настройки локали Microsoft Windows, а это означает, что то, что может быть проанализировано как дата в одной системе, настроенной для использования одного языкового стандарта, может не быть проанализировано как дата в другой системе, настроенной для использования одного языкового стандарта. используйте другую локаль. [11] [12]
IsDBNull(expression)
Эта функция определяет, имеет ли выражение, переданное в качестве аргумента, значение System.DBNull.Value. [9] Это эквивалентно Visual Basic 6. IsNull() функция. [10] Обратите внимание, что невозможно напрямую сравнить выражение равенства с System.DBNull, поскольку любое выражение вида x = DbNull будет оценивать DbNull просто потому, что он содержит ноль. IsDBNull() это единственный способ проверить равенство System.DBNull. [12]
IsEmpty(expression)
Эта функция определяет, является ли выражение, переданное в качестве аргумента, неинициализированным вариантом. Обратите внимание, что неинициализированный вариант отличается от варианта, который был инициализирован для хранения Null. [13] Хотя функция принимает выражение, а не просто имя переменной, любое выражение, которое не является просто именем переменной, не считается неинициализированным вариантом. [11] Эта функция была доступна в Visual Basic 6, но в Visual Basic .NET она была заменена функцией IsNothing() функция. [14] В VBScript, если назначен вариант Nothing, эта функция все равно возвращает False. [15]
IsError(expression)
Эта функция в Visual Basic .NET определяет, является ли выражение, переданное в качестве ее аргумента, объектом исключения, т. е. объектом System.Exception класс или один из его подклассов. [7] В Visual Basic 6 функция проверяет, является ли выражение вариантом со специальным vbError подтип. [16]
IsMissing(name)
Эта функция определяет, является ли имя переменной, переданное в качестве ее аргумента, необязательным аргументом, который не был передан функции ее вызывающей стороной. Он возвращает True только переменная представляет собой вариант, который не был инициализирован. Эта функция существует только в Visual Basic 6. В Visual Basic .NET необязательные параметры должны иметь инициализаторы по умолчанию, и эта функция больше не существует. [17]
IsNothing(expression)
Эта функция определяет, имеет ли выражение, переданное в качестве аргумента, значение Nothing. [9] Это простая библиотечная функция (содержащая всего 4 инструкции CIL ), которую можно записать на Visual Basic как: [18] [19]
Public Shared Function IsNothing(ByVal Expression As Object) As Boolean
    Return (Expression Is Nothing)
End Function
Результатом этого является возвращение False для всех выражений значений (нессылочных), поскольку они будут заключены в рамках вызова функции в объекты, которые по своей природе не будут нулевыми объектами. [18] [19] Чтобы избежать такого поведения, можно использовать IS оператор для сравнения объекта напрямую с Nothing, письмо expression IS Nothing скорее, чем IsNothing(expression). Компилятор выдаст ошибку во время компиляции, если сравниваемое выражение является значением, а не ссылочным типом, обнаруживая несоответствие типов во время компиляции, а не просто возвращая False во время выполнения. [20] Строки являются ссылочными типами в Visual Basic .NET и поэтому могут иметь значение NULL (в отличие от просто пустых строк нулевой длины). Для таких строк эта функция возвращает True. (Для пустых строк возвращается False.) [21] [18]
IsNull(expression)
Эта функция определяет, имеет ли выражение, переданное в качестве аргумента, значение Null. Значение null в любом подвыражении выражения приводит к тому, что все выражение считается нулевым. [15]
IsNull(expression1,expression2)
Эта функция, принимающая два аргумента, специфична для Transact-SQL. В отличие от функции Visual Basic с таким именем, она не возвращает Boolean, но вместо этого возвращает первое выражение, если это не так NULL, иначе второе выражение. [22] Целью функции является замена любого NULL ценности с другим, предположительно (но не обязательно) не- NULL, ценить. [23] Это версия с двумя аргументами COALESCE().
IsNumeric(expression)
Эта функция определяет, может ли выражение, переданное в качестве ее аргумента, быть преобразовано в число (будь то число). Short, Integer, Long, Single, Double, или Decimal) из символа или строки или уже является числом. [24] [25] В Transact-SQL строки можно преобразовать в числа, даже если они содержат символы, которые нельзя ожидать от чисел. Это связано с тем, что Transact-SQL допускает преобразование из money и smallmoney типы в числа, а денежные данные в строковой форме могут содержать символы индикатора валюты, такие как ' £' или ' $'символы. [26] То же самое относится и к VBScript, где любая строка, которую можно преобразовать в значение валюты в текущей локали, считается числовой. Однако VBScript не считает дату и время числовыми. [27]
IsObject(expression)
Эта функция определяет, является ли выражение, переданное в качестве аргумента, объектом, а не значением. [4] Это эквивалентно Visual Basic .NET. IsReference() функция. [10]
IsReference(expression)
Эта функция определяет, является ли выражение, переданное в качестве аргумента, ссылкой, а не значением. [24] Это эквивалентно Visual Basic 6. IsObject() функция. [10]

Что поддерживает что

[ редактировать ]
  1. ^ Маркус и Леви 2002 , с. 750–751.
  2. ^ Роман, Петруша и Ломакс 2002b , стр. 394 и далее..
  3. ^ Харрис 1999 , с. 402–403.
  4. ^ Перейти обратно: а б Книттель 2002 , с. 609.
  5. ^ Харрис 1999 , с. 402.
  6. ^ Перейти обратно: а б Перри и Хеттихева 1998 , с. 237.
  7. ^ Перейти обратно: а б Роман, Петруша и Ломакс 2002а , с. 69.
  8. ^ Роман, Петруша и Ломакс 2002b , стр. 394–395.
  9. ^ Перейти обратно: а б с Роман, Петруша и Ломакс 2002а , с. 86.
  10. ^ Перейти обратно: а б с д Петруцсос 2002 , с. 115.
  11. ^ Перейти обратно: а б Ломакс, Чайлдс и Петруша 2003 , с. 341.
  12. ^ Перейти обратно: а б Роман, Петруша и Ломакс 2002b , стр. 395.
  13. ^ Харрис 1999 , с. 416.
  14. ^ Уэйкфилд и Сондер 2001 , с. 690.
  15. ^ Перейти обратно: а б Ломакс, Чайлдс и Петруша 2003 , с. 342.
  16. ^ Роман, Петруша и Ломакс 2002b , стр. 397.
  17. ^ Петруша 2006 , с. 367 528 637.
  18. ^ Перейти обратно: а б с Петруша 2006 , с. 438.
  19. ^ Перейти обратно: а б Стил 2005а .
  20. ^ Стил 2005b .
  21. ^ Роман, Петруша и Ломакс 2002b , стр. 394.
  22. ^ Израиль и Джонс 2001 , с. 476.
  23. ^ Прайс 2003 , с. 119.
  24. ^ Перейти обратно: а б Роман, Петруша и Ломакс 2002а , с. 87.
  25. ^ Петруцсос 2002 , с. 114.
  26. ^ MSDN и 1 .
  27. ^ Ломакс, Чайлдс и Петруша 2003 , с. 343.

Использованные источники

[ редактировать ]
  • Харрис, Мэтью (1999). Сэмс самостоятельно научится программированию в Microsoft Excel 2000 за 21 день . Серия «Сэмс: Научи себя». Сэмс. ISBN  978-0-672-31543-5 .
  • Израиль, Марк; Джонс, Дж. Стивен (2001). MCSE: Учебное пособие по проектированию SQL Server 2000 . Серия руководств по сертификации. Джон Уайли и сыновья. ISBN  978-0-7821-2942-7 .
  • Книттел, Брайан (2002). «Справочник по VBScript». Windows XP под капотом . Издательство Que. ISBN  978-0-7897-2733-6 .
  • Ломакс, Пол; Чайлдс, Мэтт; Петруша, Рональд (2003). Коротко о VBScript . В двух словах (2-е изд.). O'Reilly Media, Inc. ISBN  978-0-596-00488-0 .
  • Маркус, Уильям; Леви, Алекс (2002). Программирование на Visual Basic 6 . Тата МакГроу-Хилл. ISBN  978-0-07-040290-4 .
  • Перри, Грег М.; Хеттихева, Санджая (1998). Сэмс освоит Visual Basic 6 за 24 часа . Научите себя за 24 часа (2-е изд.). Издательство Самс. ISBN  978-0-672-31533-6 .
  • Петруцос, Евангелос (2002). Освоение Visual Basic.NET . Мастеринг серии. Джон Уайли и сыновья. ISBN  978-0-7821-2877-2 .
  • Петруша, Рональд (2006). Visual Basic 2005: полный справочник . МакГроу-Хилл Профессионал. ISBN  978-0-07-226033-5 .
  • Прайс, Джейсон (2003). Освоение программирования баз данных на C# . Джон Уайли и сыновья. ISBN  978-0-7821-4183-2 .
  • Роман, Стивен; Петруша, Рон; Ломакс, Пол (2002a). Карманный справочник по языку VB.NET . O'Reilly Media, Inc. ISBN  978-0-596-00428-6 .
  • Роман, Стивен; Петруша, Рон; Ломакс, Пол (2002b). Коротко о языке VB.NET . В двух словах (2-е изд.). О'Рейли Медиа, Инк. ISBN  978-0-596-00308-1 .
  • Стил, Патрик (31 мая 2005 г.). «Ничего? Определенно!» . Блог Патрика Стила по .NET .
  • Стил, Патрик (3 июня 2005 г.). «Избегание IsNothing()» . Блог Патрика Стила по .NET .
  • Уэйкфилд, Кэмерон; Сондер, Хенк-Эверт (2001). Ли, Вэй Мэн (ред.). Руководство веб-разработчика VB.net . синтез. ISBN  978-1-928994-48-0 .
  • «ISNUMERIC (Transact-SQL)» . MSDN : SQL Server 2008: Справочник по Transact-SQL . Майкрософт . 23 мая 2023 г.

Дальнейшее чтение

[ редактировать ]

Интернет-документация Microsoft

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4baa1ec15856d106256c5f0e68a7d1cc__1696382100
URL1:https://arc.ask3.ru/arc/aa/4b/cc/4baa1ec15856d106256c5f0e68a7d1cc.html
Заголовок, (Title) документа по адресу, URL1:
Is functions - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)