Je funkce - Is functions - Wikipedia
Název funkce | VB 6[1][2] | VBA[3] | VBScript[4] | VB .NET | T-SQL |
---|---|---|---|---|---|
IsArray | Ano | Ano | Ano | Ano | Ne |
IsDate | Ano | Ano | Ano | Ano | Ano |
IsDBNull | Ne | Ne | Ne | Ano | Ne |
Je prázdný | Ano | Ano | Ano | Ne | Ne |
IsError | Ano | Ano | Ne | Ano | Ne |
Chybí | Ano | Ano | Ne | Ne | Ne |
Není nic | Ne | Ne | Ne | Ano | Ne |
IsNull | Ano | Ano | Ano | Ne | Ano |
IsNumeric | Ano | Ano | Ano | Ano | Ano |
IsObject | Ano | Ano | Ano | Ne | Ne |
IsReference | Ne | Ne | Ne | Ano | Ne |
The Je
funkce (také známý jako datové informační funkce,[5] funkce kontroly dat,[6] nebo funkce testování dat[6]) je sada funkcí v Microsoftu Visual Basic 6, Visual Basic pro aplikace, VBScript, a Visual Basic .NET. Několik z nich je také poskytováno v Transact-SQL podle .NET Framework Poskytovatel dat pro Microsoft SQL Server.
Co funkce dělají
Jedná se o jednoduché funkce ověřování dat a kontroly datových typů. Funkce ověření dat určují, zda je možné převést nebo vynutit hodnotu dat danou jako argument funkce na typ implikovaný názvem funkce a vrátit a Booleovský
záznam hodnoty, zda to bylo možné nebo ne. (Všimněte si, že skutečné funkce převodu dat, například Října ()
Pokud není převod možný, udělejte výjimky. Funkce ověřování umožňují otestovat, zda se jedná o převod bych selhat a změnit tok řízení programu v pokud prohlášení.) Skutečný
naznačuje, že by byla možná konverze, Nepravdivé
naznačuje, že by to nebylo. Podobně funkce kontroly typu vrátí a Booleovský
záznam, zda je výraz argumentu určitého typu.
V Transact-SQL funkce vrací nulu nebo jednu spíše než Booleovský
hodnoty Skutečný
a Nepravdivé
.
IsArray (název)
- Tato funkce určuje, zda název proměnné předaný jako argument je pole. Neinicializovaná pole se, poznámka, vrátí
Nepravdivé
z této funkce v Visual Basic .NET.[7] V Visual Basic 6 nejsou pole referenčními typy a vrátí se neinicializované poleSkutečný
z této funkce jako inicializované pole.[8] IsDate (výraz)
- Tato funkce určuje, zda lze výraz předaný jako jeho argument převést na proměnnou typu
datum
, nebo již má typdatum
. Neinicializované proměnné které jsou typudatum
lze samozřejmě převést, přestože je neinicializován, takže se to vždy vrátíSkutečný
pro takové proměnné.[9] Všimněte si, že řetězce, které obsahují kromě data také den v týdnu (např.„So, 12. října 2010“
) vrátí výsledek selhání.[10] Ve VBScript a Visual Basic .NET využívá proces převodu nastavení národního prostředí Microsoft Windows, což znamená, že to, co se může analyzovat jako datum v jednom systému, nakonfigurované pro použití jednoho národního prostředí, může selhat při analýze jako datum v jiném systému, nakonfigurovaném tak, aby použít jiné národní prostředí.[11][12] IsDBNull (výraz)
- Tato funkce určuje, zda se výraz předaný jako jeho argument vyhodnotí
System.DBNull.Value
.[9] To je ekvivalentní k Visual Basic 6IsNull ()
funkce.[10] Všimněte si, že není možné přímo porovnat výraz pro rovnost sSystem.DBNull
, protože jakýkoli výraz formulářex = DbNull
vyhodnotí doDbNull
jednoduše proto, že obsahuje nulu.IsDBNull ()
je jediný způsob, jak otestovat rovnostSystem.DBNull
.[12] Je prázdný(výraz)
- Tato funkce určuje, zda je výraz předaný jako jeho argument neinicializovanou variantou. Všimněte si, že neinicializovaná varianta se liší od varianty, která byla inicializována k zadržení
Nula
.[13] Ačkoli funkce přebírá výraz, nikoli pouze název proměnné, je považován jakýkoli výraz, který není pouze názvem proměnné ne být neinicializovanou variantou.[11] Tato funkce byla k dispozici v jazyce Visual Basic 6, ale byla v jazyce Visual Basic .NET nahrazenaNení nic ()
funkce.[14] Ve VBScript, pokud je přiřazena variantaNic
, tato funkce se stále vracíNepravdivé
.[15] IsError (výraz)
- Tato funkce v Visual Basic .NET určuje, zda je výraz předaný jako jeho argument objektem výjimky, tj. Objektem
Výjimka systému
třída nebo jedna z jejích podtříd.[7] V jazyce Visual Basic 6 funkce testuje, zda je výraz variantou se speciálemvbError
podtyp.[16] Chybí(název)
- Tato funkce určuje, zda název proměnné předaný jako jeho argument je volitelným argumentem, který nebyl předán funkci jeho volajícím. Vrací se
Skutečný
pouze proměnná je varianta, která nebyla inicializována. Tato funkce existuje pouze v Visual Basic 6. V Visual Basic .NET jsou volitelné parametry nutné, aby měly výchozí inicializátory, a funkce již neexistuje.[17] Není nic (výraz)
- Tato funkce určuje, zda se výraz předaný jako jeho argument vyhodnotí
Nic
.[9] Jedná se o jednoduchou knihovní funkci (obsahuje pouze 4 CIL pokyny), které lze v jazyce Visual Basic zapsat jako:[18][19]Důsledkem toho je návratVeřejnost Sdílené Funkce Není nic(ByVal Výraz Tak jako Objekt) Tak jako Booleovský Vrátit se (Výraz Je Nic)Konec Funkce
Nepravdivé
pro všechny hodnotové (nereferenční) výrazy, protože budou zabaleny jako součást volání funkce do objektů, které ze své podstaty nebudou null objekty.[18][19] Abyste se tomuto chování vyhnuli, můžete použítJE
operátor k přímému porovnání objektuNic
, psanívýraz
JE Nic
spíše nežNení nic (výraz)
. Kompilátor vyvolá chybu v době kompilace, pokud je porovnávaný výraz spíše hodnotou než referenčním typem, a zachytí neshodu typu v době kompilace, místo aby se jednoduše vrátilNepravdivé
za běhu.[20] Řetězce jsou referenční typy v Visual Basic .NET, a proto mohou být null (na rozdíl od jednoduše nulové délky, prázdných řetězců). U takových řetězců se tato funkce vrátíSkutečný
. (U prázdných řetězců se vrátíNepravdivé
.)[21][18] IsNull (výraz)
- Tato funkce určuje, zda se výraz předaný jako jeho argument vyhodnotí
Nula
. Hodnota null v libovolném dílčím výrazu výrazu způsobí, že celý výraz bude považován za null.[15] IsNull (výraz1,výraz2)
- Tato funkce, přičemž dva argumenty, je specifická pro Transact-SQL. Na rozdíl od funkce jazyka s tímto názvem nevrací a
Booleovský
, ale místo toho vrátí první výraz, pokud tomu tak neníNULA
, jinak druhý výraz.[22] Účelem funkce je nahradit jakoukoliNULA
hodnoty s jinou, pravděpodobně (ale nemusí být)NULA
, hodnota.[23] Je to verze se dvěma argumentyCOALESCE ()
. IsNumeric (výraz)
- Tato funkce určuje, zda lze výraz předaný jako jeho argument převést na číslo (ať už a
Krátký
,Celé číslo
,Dlouho
,Singl
,Dvojnásobek
neboDesetinný
) ze znaku nebo řetězce, nebo je již číslem.[24][25] V Transact-SQL lze řetězce převést na čísla, i když obsahují znaky, které by člověk v číslech nečekal. Je to proto, že Transact-SQL umožňuje převod zpeníze
amalé peníze
typy čísel a peněžní data ve formě řetězce mohou obsahovat znaky indikátoru měny, například£
'nebo'$
symboly.[26] Totéž platí pro VBScript, kde je jakýkoli řetězec, který lze převést na hodnotu měny v aktuálním národním prostředí, považován za číselný. VBScript však nepovažuje data a časy za číselné.[27] IsObject (výraz)
- Tato funkce určuje, zda je výraz předaný jako jeho argument spíše objektem než hodnotou.[4] To je ekvivalentní k Visual Basic .NET
IsReference ()
funkce.[10] IsReference (výraz)
- Tato funkce určuje, zda je výraz předaný jako jeho argument spíše odkazem než hodnotou.[24] To je ekvivalentní k Visual Basic 6
IsObject ()
funkce.[10]
Reference
Co podporuje co
- ^ Marcus & Levy 2002, str. 750–751.
- ^ Roman, Petrusha & Lomax 2002b, str. 394 a násl.
- ^ Harris 1999, str. 402–403.
- ^ A b Knittel 2002, str. 609.
- ^ Harris 1999, str. 402.
- ^ A b Perry & Hettihewa 1998, str. 237.
- ^ A b Roman, Petrusha & Lomax 2002a, str. 69.
- ^ Roman, Petrusha & Lomax 2002b, str. 394–395.
- ^ A b C Roman, Petrusha & Lomax 2002a, str. 86.
- ^ A b C d Petroutsos 2002, str. 115.
- ^ A b Lomax, Childs & Petrusha 2003, str. 341.
- ^ A b Roman, Petrusha & Lomax 2002b, str. 395.
- ^ Harris 1999, str. 416.
- ^ Wakefield & Sonder 2001, str. 690.
- ^ A b Lomax, Childs & Petrusha 2003, str. 342.
- ^ Roman, Petrusha & Lomax 2002b, str. 397.
- ^ Petrusha 2006, str. 367 528 637.
- ^ A b C Petrusha 2006, str. 438.
- ^ A b Steele 2005a.
- ^ Steele 2005b.
- ^ Roman, Petrusha & Lomax 2002b, str. 394.
- ^ Israel & Jones 2001, str. 476.
- ^ Cena 2003, str. 119.
- ^ A b Roman, Petrusha & Lomax 2002a, str. 87.
- ^ Petroutsos 2002, str. 114.
- ^ MSDN a 1.
- ^ Lomax, Childs & Petrusha 2003, str. 343.
Použité zdroje
- Harris, Matthew (1999). Sams se naučíte programovat Microsoft Excel 2000 za 21 dní. Série Sams Teach Yourself. Sams. ISBN 978-0-672-31543-5.CS1 maint: ref = harv (odkaz)
- Izrael, Marc; Jones, J. Steven (2001). MCSE: Průvodce studiem designu serveru SQL Server 2000. Série studijního průvodce certifikací. John Wiley and Sons. ISBN 978-0-7821-2942-7.CS1 maint: ref = harv (odkaz)
- Knittel, Brian (2002). "Odkaz na VBScript". Windows XP pod kapotou. Que Publishing. ISBN 978-0-7897-2733-6.CS1 maint: ref = harv (odkaz)
- Lomax, Paul; Childs, Matt; Petrusha, Ronald (2003). Stručně řečeno VBScript. V kostce (2. vyd.). O'Reilly Media, Inc. ISBN 978-0-596-00488-0.CS1 maint: ref = harv (odkaz)
- Marcus, William; Levy, Alex (2002). Programování v jazyce Visual Basic 6. Tata McGraw-Hill. ISBN 978-0-07-040290-4.CS1 maint: ref = harv (odkaz)
- Perry, Greg M .; Hettihewa, Sanjaya (1998). Sams se naučí Visual Basic 6 za 24 hodin. Naučte se v 24hodinové sérii (2. vydání). Sams Publishing. ISBN 978-0-672-31533-6.CS1 maint: ref = harv (odkaz)
- Petroutsos, Evangelos (2002). Mastering Visual Basic.NET. Mastering Series. John Wiley and Sons. ISBN 978-0-7821-2877-2.CS1 maint: ref = harv (odkaz)
- Petrusha, Ronald (2006). Visual Basic 2005: kompletní reference. McGraw-Hill Professional. ISBN 978-0-07-226033-5.CS1 maint: ref = harv (odkaz)
- Cena, Jason (2003). Zvládnutí programování C # databáze. John Wiley and Sons. ISBN 978-0-7821-4183-2.CS1 maint: ref = harv (odkaz)
- Roman, Steven; Petrusha, Ron; Lomax, Paul (2002a). Referenční příručka jazyka VB.NET. O'Reilly Media, Inc. ISBN 978-0-596-00428-6.CS1 maint: ref = harv (odkaz)
- Roman, Steven; Petrusha, Ron; Lomax, Paul (2002b). Jazyk VB.NET v kostce. V kostce (2. vyd.). O'Reilly Media, Inc. ISBN 978-0-596-00308-1.CS1 maint: ref = harv (odkaz)
- Steele, Patrick (2005-05-31). „Nic? Rozhodně!“. Patrick Steele's .NET Blog.CS1 maint: ref = harv (odkaz)
- Steele, Patrick (06.06.2005). "Vyhnout se IsNothing ()". Patrick Steele's .NET Blog.CS1 maint: ref = harv (odkaz)
- Wakefield, Cameron; Sonder, Henk-Evert (2001). Lee, Wei Meng (ed.). Příručka pro vývojáře webu VB.net. Synchronizace. ISBN 978-1-928994-48-0.CS1 maint: ref = harv (odkaz)
- „ISNUMERIC (Transact-SQL)“. MSDN: SQL Server 2008: Reference Transact-SQL. Microsoft.
Další čtení
Online dokumentace společnosti Microsoft
- "
IsArray
metoda". MSDN: Knihovna tříd .NET Framework:Microsoft.VisualBasic
jmenný prostor. Microsoft. - "
IsDate
metoda". MSDN: Knihovna tříd .NET Framework:Microsoft.VisualBasic
jmenný prostor. Microsoft. - "
IsDBNull
metoda". MSDN: Knihovna tříd .NET Framework:Microsoft.VisualBasic
jmenný prostor. Microsoft. - "
IsError
metoda". MSDN: Knihovna tříd .NET Framework:Microsoft.VisualBasic
jmenný prostor. Microsoft. - "
Není nic
metoda". MSDN: Knihovna tříd .NET Framework:Microsoft.VisualBasic
jmenný prostor. Microsoft. - "
IsNumeric
metoda". MSDN: Knihovna tříd .NET Framework:Microsoft.VisualBasic
jmenný prostor. Microsoft. - "
IsReference
metoda". MSDN: Knihovna tříd .NET Framework:Microsoft.VisualBasic
jmenný prostor. Microsoft.