ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[¤À¨É] Visual Basic .NET ¤¶²Ð

[¤À¨É] Visual Basic .NET ¤¶²Ð

¥»©«³Ì«á¥Ñ randychou ©ó 2013-1-5 10:45 ½s¿è

¤p§Ì­è½ñ¤J³o¶ô»â°ì,¨Ï¥ÎVBA ¼g¤F¤pµ{¦¡.
·Q¤F¸Ñ²{¦bVBªºµo®i,§ä¨ì¤F¤U­±ªº¤å³¹. ¸ò¤j®a¤À¨É

Visual Basic .NET
ºû°ò¦Ê¬ì¡A¦Û¥Ñªº¦Ê¬ì¥þ®Ñ
Visual Basic .NET
½sµ{½d«¬
µ²ºc¤Æ, «ü¥O¦¡, ª«¥ó¾É¦V¤Î«Å§i¦¡
­±¥«®É¶¡
2001
³]­pªÌ
·L³n
¹ê§@ªÌ
·L³n
«¬ºA¨t²Î
ÀRºA¡B±j«¬§O¡B¦P®É¬°¦w¥þ©M¤£¦w¥þ,[1] ¼Ð©ú«¬§O¨t²Î
¥D­n¹ê§@²£«~
Microsoft Visual Studio, Microsoft Visual Studio Express, .NET Framework SDK and Mono
­l¥Í°Æ»y¨¥
Microsoft Visual Basic
±Òµo»y¨¥
.NET Framework
§@·~¨t²Î
¥D­n¦bMicrosoft Windows
¦P®É¥i¤ä´©Android, BSD, iOS, Linux, Mac OS X, Solaris©MUnix
³\¥iÃÒ
±M¦³³nÅé (°Ó·~³nÅé/§K¶O³nÅé)
ºô¯¸
msdn.microsoft.com/vbasic
Visual Basic.NET¬O°ò©ó·L³n.NET Framework¤§¤Wªºª«¥ó¾É¦Vªº¤¤¶¡¸ÑÄÀ©Ê»y¨¥¡A¥i¥H¬Ý§@¬OVisual Basic¦b.Net Framework¥­¥x¤Wªº¤É¯Åª©¥»¡A»Ý­n¦b.Net Framework¥­¥x¤W¤~¯à°õ¦æ¡A¼W±j¤F¹ïª«¥ó¾É¦Vªº¤ä´©¡C¦ý¥Ñ©ó§ï°Ê¤Ó¤j¡A¾É­PVB.net¹ïVBªº¦^·¹¬Û®e©Ê¤£¦n¡A¦b·~¬É¤Þ°_¤£¤pªºª§Ä³¡C
¤j¦hªºVB.Netµ{¦¡³]­p®v¨Ï¥ÎVisual Studio .Net§@¬°¾ã¦X¦¡¶}µoÀô¹Ò¡]IDE¡Aintegrated development environment¡^¡CSharpDevelop¬O¥t¤@ºØ¥i¥Îªº¶}·½ªº¾ã¦X¦¡¶}µoÀô¹Ò¡C
¥Ø¿ý  [ÁôÂÃ]
1 µo§G¾ú¥v
1.1 Visual Basic .NET
1.2 Visual Basic .NET 2003
1.3 Visual Basic 2005
1.4 Visual Basic 2008
1.5 Visual Basic 2010
2 ©MVBªºÃöÁp
2.1 ¤ñ¸û¼Ë¨Ò
2.1.1 ²¾°£¬¡°Êµ¡¤f
2.2 ª§Ä³
3 »yªk¤¶²Ð
3.1 Select Case
4 ¸ó¥­¥x©M¶}·½ªº¶}µo
5 ªu­²
5.1 Visual Basic
5.2 Visual Basic .NET
6 °Ñ¦Ò¸ê®Æ
7 ¥~³¡³sµ²
7.1 ©x¤èºô¯¸
7.2 ±Ðµ{
7.3 ¨ä¥L
[½s¿è]µo§G¾ú¥v

[½s¿è]Visual Basic .NET
Visual Basic .NET¡]VB 7.0¡^¬OÀHVisual C#©MASP.NET¤@°_¦b2002¦~µo§Gªº³Ìªì©lªºVB.NETª©¥»¡CC#³Q¤j¤O«Å¶Ç¬°·L³n¹ï¥IJAVAªº¤ýµP¡A¨ü¨ì´CÅé·¥¤OÃöµù¡CµM¦ÓVB.NET¡]¦³®É³QºÙ¬°VB7¡^¼vÅT­±¤£¼s¡A³o¾É­PVBªÀ°Ï¤§¥~«Ü¤Ö¤HÃöµù¥¦¡C¨º¨Ç¸Õ¥Î¹L¦¹ª©VB.NETªº¤H¦b¼h¼h¹õ§G¤Uµo²{¤@­Ó±j¤j«oÁ}²`ªº»y¨¥¡A¦Ó¥BÁÙ¦³¤£¤Ö¯ÊÂI¡A¨Ò¦p¥¦ªº°õ¦æ¶¥¬q¤¸¥ó¡]Run-Time¡^¤ñVB6¤j¤F¤Q­¿¡A°O¾ÐÅé¨Ï¥Î¶q¤]¤j¤j¼W¥[¡C
[½s¿è]Visual Basic .NET 2003
Visual Basic .NET 2003¡]VB 7.1¡^¬O©M.NET Framework 1.1¤@°_µo¦æªº¡C·s¥\¯à¥]¬A¹ï.NET Compact Frameworkªº¤ä´©©M§ó¦nªºVB¤É¾EºëÆF¡C¨Ã§ï¶i¤F°õ¦æª¬ªp¡AIDEí©w©Ê¡]¤×¨ä¬O«á¥x½sĶ¾¹¡^¡A¥H¤Î°õ¦æ®ÉRunTimeí©w©Ê¡C¥t¥~¡AVB.NET 2003ÁÙ¦³¤@­Ó¾Ç°|ª©Visual Studio .NET 2003 Academic Edition (VS03AE)¡A¥¦¬O¤Àµoµ¹¦U°ê¬Y¨Ç¾ÇªÌ§K¶O¨Ï¥Îªºª©¥»¡C
[½s¿è]Visual Basic 2005
Visual Basic 2005¡]VB 8.0¡^¬OVB.Netªº­«¤jÂàÅÜ¡A·L³n¨M·N¦b¨ä³nÅé¦WºÙ¤¤¥h±¼¤F.NET³¡¥÷¡C¦bVB2005¤¤¡A·L³n¼W¥[¤F³\¦h·s¥\¯à¡A¥H°Ñ·ÓVB¹ï©óªì¾ÇªÌ¨Ó»¡ªº¤@¨ÇÀuÂI¡G
Edit and Continue - ¤]³\¬O±qVB¨ºùإᱼªº³Ì¤jªº¥\¯à¡A¤¹³\¥N½Xªº½s¿è©M°õ¦æ¥ß§Yªº°õ¦æ«ì´_¡C
Design-time expression evaluation
My°°¦WºÙªÅ¶¡¡A´£¨Ñ¤F¦s¨ú.NET Framework¯S©w°ìªº¤£»Ý¤j¶q½s½XªºÂ²³æ¤è¦¡¡FÁÙ¯à°ÊºA²£¥ÍÃþ¡]ÅãµMªº¬OMy.Forms¡^¡F´£¨Ñ¤F§ï¶iªºVB¨ìVB.NETÂà´«ºëÆF¡FUsing»yªk¡A²¤Æ¤F»Ý­n³¡¸ppattern to free resourcesªºª«¥óªº¨Ï¥Î¡FMy½s½X¡A¥iÁôÂÃ¥ÑVB.NET IDE¼gªº¼ÒªO¥N½X¡F¸ê®Æ¨Ó·½Ã´µ²¡A²¤Æ¤F¸ê®Æ®wC/S¶}µo¡C¤W­z¥\¯à¡]¤×¨ä¬OMy¡^¼W±j¤FVB.Net¦¨¬°§Ö³t¶}µoÀ³¥Î¥­¥xªº¥i¯à¡A¨Ã»PC#¶i¤@¨B°Ï§O¶}¨Ó¡CVisual Basic 2005 ³z¹L¼W¥[·s¥\¯à¦Ó¶ñ¸É¤F©M¨ä¥L©Ò¿×§ó±j¤jªº.NET»y¨¥ªº®t¶Z¡C
¼W¥[¤F.NET 2.0»y¨¥¥\¯à¥]¬A¡Gªx«¬¡]generics¡^©MPartialÃþ¡]¦b¤@­ÓÀÉ®×ùØ©w¸q¤@­ÓÃþªº¬Y³¡¥÷µM«á¦A²K¥[§ó¦hªº©w¸q¡A³o­Ó¤èªk¦b¾ã¦X¨Ï¥ÎªÌ½s½X©M¨t²Î¦Û°Ê¥Í¦¨½s½X®É¤×¨ä¦³¥Î¡^¡C
XMLµùÄÀ¡A¥i¥H³QNDocµ¥¤u¨ã³B²z¦Ó¦Û°Ê¥Í¦¨¤å¥ó
¾Þ§@²Å¹L¸ü
¤ä´©¦b¨ä¥L»y¨¥¤¤¤w¸g¼sªx¨Ï¥Îªºunsigned integer¸ê®Æ«¬§O¡C
¤ä´©¦b³\¦hC­l¥Íµ{¦¡»y¨¥¤w´£¨Ñªº½Æ¦X¾Þ§@²Å¦p¡G"+=", "-="
IsNot±M§Q¡GIf Not X Is Y¹Bºâ¦¡³QÂà´«¦¨If X IsNot Y¡C·í·L³n¬°IsNot¥Ó½Ð±M§Q®É©Û­P¤F´c¦W¡]¤×¨ä¨Ó¦ÛReal¤½¥q¡^¡C
Visual Basic 2005 Express¡G§@¬°VS²£«~½u¤Wªº¤@³¡¥÷¡AVB2005 Express¬O±M¬°·~¾l·R¦nªÌ©M·s¤â«È¨îªº§K¶OªºVS Express¨t¦Cªº¤@­û¡CExpressª©¥»¥Øªº©w¦ì¦bÀ°§U¤H­Ì¾Ç²ß¤@ºØ»y¨¥¡A©Ò¥H¥L­Ì¦³©M¼Ð·Çª©¤@­Pªº¨Ï¥ÎªÌ¤¶­±¡A°¦¬O¤Ö¤F¤@¨Ç°ª¶¥¥\¯à¡C¥t¥~¡AVS Expressª©¥]¬A¤FVB6.0Âà´«¾¹¡A´£¨Ñ¤F±qVB¦Ñª©¥»¤É¯Åªº¥i¦æ¤èªk¡C
[½s¿è]Visual Basic 2008
Visual Basic 2008¡]VB 9.0¡^©ó2007¦~11¤ë9¤é»PMicrosoft .NET Framework 3.5¤@°_µo§G
¦bVB2008¤¤¡A·L³n¼W¥[³\¦h¥\¯à¡A¥]¬A¡G
IIF ¨ç¦¡
°Î¦W«¬§O
¤ä´© LINQ
Lambda ¹Bºâ¦¡
XML ¸ê®Æµ²ºc
Ãþ¤¶­±
[½s¿è]Visual Basic 2010
Visual Basic 10,¤]ºÙ¬°VBx,´£¨Ñ¤ä´©Dynamic Language Runtime (DLR)¡CVB 10¦P®É¬OSilverlight 2.0­pµeªº¤@³¡¤À¡C
[½s¿è]©MVBªºÃöÁp

VB.net ¬O§_¸Ó³Q¬Ý§@VBªº·sª©¥»©ÎªÌ¬O¥t¤@­Ó§¹¥þ¤£¦Pªº»y¨¥©|¦bª§Ä³¤¤¡CÁöµM¨Ã«DÅã¦Ó©ö¨£¡A¦ý°¦­n¬Y­Ó¤èªk³Q±ó¥Î¡A¥¦´N·|¥i·|³Q¦Û°ÊÂà´«¡A³o»¡©ú¤F¸Ó»y¨¥ªº¥yªk¨Ã¨S¦³¥X²{«Ü¦h¬ð¯}©ÊªºÅܤơA°¦¬O¼W¥[¤F¹ï·s¥\¯àªº¤ä´©¡A¤ñ¦pµ²ºc¤Æ·N¥~³B²z¾÷¨î©Mµu°j°é¹Bºâ¦¡¡]structured exception handling and short circuited expressions¡^¡C¦³¤@ºØÅܤƷ|Åý¨ϥΪ̰g´b¡GInteger©MLong¸ê®Æ«¬§O¦bªø«×¤W¤À§O­¿¼W¡C16¦ì¤¸ªº integer ¦bVB.NET¤¤³Q»{¬°¬OShort¡A¦ÓInteger©MLong¤À§O¬O32¦ì¤¸©M64¦ì¤¸¡C¦P¼Ë¡AWindows Forms GUI½s¿è¾¹©MVB Form ½s¿è¾¹¦b¥~Æ[©M¥\¯à¤W«D±`¬Û¦ü¡C
¥X²{¥¨¤jÅܤƪº¬O»y·N¡A±q°õ¦æ©ó°ò©óCOMªºdeterministic, reference-countedªº¤ÞÀº¤§¤Wªº½sµ{Àô¹Ò¡AÂàÅܬ°¥þ­±ª«¥ó¾É¦Vªº°ò©ó.NET Frameworkªº»y¨¥¡C.NET Framework¥]¬A¤FCLR¡]¨Ï¥Î³q¥Î©U§£¦¬¶°¾÷¨î©MJIT½sĶ¤ÞÀºªºµêÀÀ¾÷¾¹¡^©M¤j¶qªºÃþ§O®w¡CVB¶}µoªÌ¶i¤JVB.NET­n­±¹ï·s¼Wªº¤j¶qÃþ§O®wªº°ÝÃD¡AÁöµM³o¦bVS 2005ªºMy ¥\¯à¤¤¤w¦³©ÒÄÄ­z¡C
¤W­zÅܤƪí©ú¤F³\¦h¦b°õ¦æ¤ÎºûÅ@¬ÛÃö³Ì¨Î¤Æ¨Æ©y¤U­±ªº°²©w¡A¤@¨ÇVB6¨ç¦¡©M®w¤£¦A¦s¦b¦Ó¨ä¥Lªº¤´µM¥i¥Î¡A¦ý¬O¤ñ¤£¤W.NET»y¨¥¤¤¤º«Øªº¥i´À´«ªº¨ç¦¡©M®w¨Ó±o°ª®Ä¡C§Y¨Ï¥¦­Ì¥i³Q½sĶ¡A¦ý¤j¦h±qVB6Âà´«¦Ó¨ÓªºÀ³¥Î±N»Ý­n¤@©wµ{«×¤Wªº­«ºc¡]refactoring¡^¡A¥H¥þ­±§Q¥Î·s»y¨¥ªºÀuÂI¡C¦b¦³Ãö¥yªk¡BÀ³¥Î°»¿ù¡B³¡¸p©M³N»yµ¥¤è­±ªºÅܤơA¦³¤j¶qªº¤å¥ó¥i¥H°Ñ¦Ò¡C
[½s¿è]¤ñ¸û¼Ë¨Ò
[½s¿è]²¾°£¬¡°Êµ¡¤f
¨â­Ó¨Ò¤l³£²¾°£¬¡°Êµ¡¤f¡A¥¦­ÌÅã¥Ü¤FVB©MVB.Net¦b¥yªk¤Wªº¤£¦P¡C
VB:
Private Sub cmdClose_Click()
  Unload Me
End Sub
VB.NET:
Private Sub cmdClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdClose.Click
  Me.Close()
End Sub
[½s¿è]ª§Ä³
³\¦h¸ê²`ªºVBµ{¦¡³]­p®v©ê«èVB.NET¡A¦]¬°VB.NET 2002¥á±¼¤F³\¦h¤£¦Aµo¦æªºVB6¤¤¨Ï¥Îªº¤j¶q»y¨¥constructs©M¨Ï¥ÎªÌ¤¶­±¥\¯à¡A¨Ã¥B¹ï«O¯d¤U¨ÓªºªF¦è¤]§ïÅܤF»y·N¡C¨Ò¦p¡A¦bVB.NET°Ñ¼Æ¹w³]¬O¥H­È¤è¦¡¶Ç»¼ªº¡A¦Ó¤£¬O¥H°Ñ·Ó¤è¦¡¡CVB.NET 2002³Q¥b¼J¿Ø¥b»{¯u¦aºÙ¬°Visual Fred©ÎVBDOTNOT¡C§@¬°¹ï2005-03-08·L³n©Úµ´¬°VB6¦A´£¨ÑºûÅ@»P¤ä´©ªº¦^À³¡A·í¤ë¤ë©³¥X²{¤F¤Ï¹ïªÌªº½ÐÄ@[2]¡C
VB.NETªº¤ä«ùªÌ­Ì»{¬°·s»y¨¥¦b«Ü¦h¤è­±¤ñª©¥»§ó¬°±j¤j¡A¤ñ¦p¥¦¥H¬Û¤ñ¦­´Áª©¥»§ó¬°¦ÛµM¡Bºò±K©M§¹¥þªº¤è¦¡¦a¥[¤J¤F²{¥Nª«¥ó¾É¦Vªº½sµ{½d¦¡¡C¤Ï¹ïªÌ­Ì¦³¤£¦P·N¨£¡AÁöµMVB6¹ïª«¥ó¼Ò«¬¤ä´©¦³¯ÊÂI¡A¦ý¬O¤G¦¸¶}µo¤É¯Å¨ìVB.NET ªº¦¨¥»¤ñ¤É¯Å«áªº¦¬¯q­n°ª±o¦h¡C¦Ó¶}µo³nÅéµo¦æºô»Úºô¸ôª©¥»ªº¿W¥ßµ{¦¡³]­p®v¤]¹ïVB.NETªºRunTime¤Ø¤o¹L¤j¤£º¡¡C
¬Û¹ï½sĶ¦¨¾÷¾¹½Xªº»y¨¥¡A½sĶ¦¨MSILªº»y¨¥¥]¬AVB.NET¤ñ¸û®e©ö³Q¤Ï½sĶ¡C
·L³n´£¨Ñ¤FVB¨ìVB.NETªº¦Û°ÊÂà´«¾¹¡AÁö´X¸g§ï¶i¡A¦ý¤´µLªkÂà´«¥þ³¡¥N½X¡A´X¥G©Ò¦³«D¤p«¬µ{¦¡³£»Ý­n¤H¤u­×§ï¥H§¹¦¨½sĶ¡C¬°¤F°õ¦æ³Ì¨Î¤Æ¡A¤j¦hµ{¦¡»Ý­n¤j¶q¤u§@¥h­«ºc¡C
¥D­n¬O¶i¦æºtºâªºVBµ{¦¡¦ÛµM·|§ó®e©ö¤É¾E¡A¦ý¬O±Ä¥Î¤F¥H¤U¥\¯à¡A¦p¸ê®Æ®w¤ä´©¡B¹Ï§Î¡Bunmanaged operations¡A©ÎªÌ¦b¦w¸Ë±Ò¥Î©ú²Ó¤è­±³£«Ü³Â·Ð¡C¤£©¯ªº¬O¡A³o¨Ç«ê¦n¬O³\¦h°Ó·~À³¥Îªº®Ö¤ß¡C
¥t¥~¡AWin98¤Î¨ä¥H¤Wªº¨t²Î´N¤º«Ø¤FVB6ªº°õ¦æ®É¡]RunTime¡^®w¡A¦ÓVB.NET»Ý­n¦w¸Ë¤j±o¦hªº.NET Framework¡C°£¤F Windows Vista, Windows XP Media Center Edition, Windows XP Tablet PC Edition¡BWindows Server 2003¡BWindows Server 2008¡BWindows 7¡BWindows Server 2008 R2¦³¤º«Ø.NET Framework¡A¨ä¥Lª©¥»»Ý­n¥t¥~¦w¸Ë¡A³o¹ï¨Ï¥ÎªÌ©Mµ{¦¡³]­p®v³£¤£¤è«K¡C¥B.NET Framework 3.5ª©¶È¤ä´©Windows XP¡BVista¥H«áªºWindowsª©¥»¡C
°w¹ï¶}µoªÌªº¤£º¡¡A·L³n¥D­n°µ¤F¦p¤U§V¤O¡G¨Ï·sªº¶}µo§ó®e©ö±Ò°Ê¡A¦Ó§â¤w¶}µoªºVB6¥N½X¤É¯Å¨ìVB.NET[3]¡C¨Ò¤l¥D­n¥]¬A¡G§¹¦¨VB6¤¤ªº±`¨£¥ô°È¦p¹wÄý¦C¦L¡F¾ã¦XVB6©MVB.NET¸Ñ¨M¤è®×¡]dubbed VB Fusion¡^¡A±qVB6 ¥N½XÂà´«¨ì VB.NET¡C
[½s¿è]»yªk¤¶²Ð

[½s¿è]Select Case
VB.Net ¤ä´©¦p¤Uªº Select »y¥y¡C
        Dim J, K As Boolean
        Dim check1 As String = String.Empty

        J = True
        Select Case True
            Case J
                check1 = "a"
            Case K
                check1 = "b"
        End Select
[½s¿è]¸ó¥­¥x©M¶}·½ªº¶}µo

¥Ø«e©MC#¬Û¤ñ¡A°w¹ïVB.NET¶}µoªº¶}·½¤u¨ãµo®i±o¤ñ¸ûºC¡CMONO¶}µo¥­¥x´£¨Ñ¤F¤@­ÓVB.NET¯S©Ê®w¡]VB.NET-specific libraries¡^¨Ã¥H±À¥X¤F¤@­Ó½sĶ¾¹¡AÁÙ¦³¤@­ÓWindows Forms GUI ®w¦b¶}µo¤¤¡C
[½s¿è]ªu­²

[½s¿è]Visual Basic
1991¦~4¤ë¡AVisual Basic 1.0 Windowsª©¥»µo¦æ
1992¦~9¤ë¡AVisual Basic 1.0 DOSª©¥»µo¦æ¡C
1992¦~11¤ë¡AVB2.0µo¦æ¡C¥¦¹ï©ó¤W¤@­Óª©¥»ªº¤¶­±©M³t«×³£¦³©Ò§ïµ½¡C
1993¦~®L¤Ñ¡AVB3.0µo¦æ¡A¤À¬°¼Ð·Çª©©M±M·~ª©¡C¨ä¤¤¥]§t¤@­Ó¸ê®Æ¤ÞÀº¡A¥i¥Hª½±µÅª¨úAccess¸ê®Æ®w¡C
1995¦~8¤ë¡AVB4.0µo¦æ¤F32¦ì¤¸ª©¥»©M16¦ì¤¸ªºª©¥»¡C¨ä¤¤¥]§t¤F¹ïÃþªº¤ä´©¡C³o¬O³Ì«á¤@­Ó¤ä´©16¦ì¤¸ªºª©¥»¡C
1997¦~2¤ë¡AVB5.0µo¦æ¡Cµ{¦¡³]­p®v¥i¥H¥Î32¦ì¤¸ªºª©¥»¶×¤J¥Ñ4.0ª©¥»«Ø¥ßªº16¦ì¤¸µ{¦¡¡A¨Ã¥B¯à¶¶§Q½sĶ¡C¦P®ÉÁÙ¥]§t¤F¹ï¨Ï¥ÎªÌ¦Û«Ø±±¨î¶µªº¤ä´©¡C
1998¦~®L¤Ñ¡AVB6.0µo¦æ¡C
[½s¿è]Visual Basic .NET
2001¦~¡AVisual Basic.NET©M.NET Frameworkµo¦æ¡C¥Ñ©ó¨ä¨Ï¥Î¤F·sªº®Ö¤ß©M¯S©Ê¡A©Ò¥H«Ü¦hVBªºµ{¦¡³]­p®v³£­nÂмgµ{¦¡¡C
2003¦~¡AVisual Basic.NET 2003©M.NET Framework 1.1µo¦æ¡C
2004¦~¡A·L³nµo¦æ¤FVisual Studio 2005ªº´ú¸Õª©¥»¡]¥N¸¹Whidbey¡^¡C¥]§t¤F.NET Framework2.0ªº´ú¸Õª©¥»¡C
2005¦~¡A·L³n«Å§G±N¤£·|¦A¹ï«D.NETª©¥»ªºVB¶i¦æ¤ä´©¡CVBªÀ¸s¥ß§Y§@¥X¤ÏÀ³ªí¥ÜÃö¤ß³o­Ó°T®§¡A¤@¨Ç¦Ñ¨Ï¥ÎªÌÁÙ»¼¥æ¤F§Æ±æ¯à°÷Ä~Äò¹ïVB¶i¦æ§Þ³N¤ä´©ªº½ÐÄ@®Ñ¡C·L³n¥Ø«eÁÙ¤£Ä@·N§ïÅÜ¥L­Ìªº¨M©w¡C
2005¦~11¤ë7¤é¡AVisual Studio 2005¥¿¦¡µo¦æ¡C
2007¦~11¤ë19¤é¡AVisual Studio 2008»P.NET Framework 3.5¥¿¦¡µo¦æ¡C
[½s¿è]°Ñ¦Ò¸ê®Æ

^ Option Strict can be used to switch between safe and unsafe type checking.
^ http://classicvb.org/petition/ petition
^ http://msdn.microsoft.com/VBRun/ VBRun website
[½s¿è]¥~³¡³sµ²

[½s¿è]©x¤èºô¯¸
¡]­^¤å¡^Microsoft's VB.NET©x¤èºô¯¸
¡]­^¤å¡^Visual Basic 2005 Express Edition©x¤èºô¯¸
¡]­^¤å¡^VBRun ºô¯¸ - VB6ªºMicrosoft©x¤èºô¸ô¸ê·½
¡]¥¿Å餤¤å¡^Visual Studio Express ­º­¶
¡]¥¿Å餤¤å¡^Visual Studio Express Visual BASIC ¤U¸ü­¶­±
[½s¿è]±Ðµ{
Startvbdotnet.com¡G§K¶OVB.NET±Ðµ{
¨Ï¥ÎMy¶}µo
³z¹LMy¦WºÙªÅ¶¡¦s¨ú.NET Framework ©M¶µ¥Ø
[½s¿è]¨ä¥L
SharpDevelop - VB.NETªº¤@­Ó§K¶OIDE
VB.NETªºMONOÀ³¥Î
Doing Objects in VB.NET and C#¡A§K¶O¹q¤l®Ñ
VB.NET Knowledge Base - VB.NETª¾ÃÑ®w / µ{¦¡³]­p­Ñ¼Ö³¡

­ì©l³sµ²:  http://zh.wikipedia.org/wiki/Visual_Basic_.NET

        ÀR«ä¦Û¦b : ¡i®É¶¡µLªk¾B¾×¡j©È®É¶¡®ø³u¡Aªá¤F³\¦h¤ß¦å¡A·QºÉ¦U¦¡¤èªk­n¾B¾×®É¶¡¡Aµ²ªG¬O¡G®ö¶O¤F§ó¦h®É¶¡¡A¥B¤@µL©Ò¦¨¡I
ªð¦^¦Cªí ¤W¤@¥DÃD