Khiêu chuyển đáo nội dung

Visual Basic.NET

本页使用了标题或全文手工转换
Duy cơ bách khoa, tự do đích bách khoa toàn thư
( trọng định hướng tựVB.NET)
Visual Basic.NET
Biên trình phạm hìnhĐa trọng biên trình phạm thức(Kết cấu hóa,Chỉ lệnh thức,Diện hướng đối tượngCậpTuyên cáo thức)
Thiết kế giảVi nhuyễn
Thật tác giảVi nhuyễn
Phát hành thời gian2001 niên
Đương tiền bản bổn
  • 17.9.2( 2024 niên 2 nguyệt 27 nhật; ổn định bản bổn )[1]
編輯維基數據鏈接
Hình thái hệ thốngTĩnh thái,Cường loại hình,Đồng thời vi loại hình an toàn hòa bất an toàn[2],Tiêu minh loại hình hệ thống
Thao tác hệ thốngChủ yếu tạiMicrosoft Windows
Đồng thời khả chi trìAndroid,BSD,iOS,Linux,Mac OS X,SolarisHòaUnix
Hứa khả chứngChuyên hữu nhuyễn kiện(Thương nghiệp nhuyễn kiện/Miễn phí nhuyễn kiện)
Văn kiện khoách triển danh.vb
Võng trạmmsdn.microsoft.com/zh-cn/vstudio
Chủ yếu thật tác sản phẩm
Microsoft Visual Studio,Microsoft Visual Studio Express,.NET Framework SDKCậpMono
Diễn sinh phó ngữ ngôn
Small Basic
Khải phát ngữ ngôn
Visual Basic,C#

Visual Basic.NET(VB.NET) thị.NET khuông giáHòa hậu lai đích.NETHạ đích nhất chủngĐa trọng biên trình phạm thứcCao cấp ngữ ngôn.

VB.NET, thịVi nhuyễn công tưVu 2002 niên tác vi nguyên hữu đíchVisual BasicĐích kế thừa giả nhi thôi xuất. Tuy nhiên tự 2005 niên khởi, ngữ ngôn danh xưng trung đích “.NET” tựu dĩ kinh bị khứ điệu liễu. Đãn vi liễu dữ VB 6.0 cập dĩ tiền bản bổn đích Visual Basic tiến hành khu phân, “Visual Basic.NET” đích danh tự nhưng nhiên bị xã hội công chúng dụng lai chỉ đại VB 7.0 cập dĩ hậu đích Visual Basic. VB.NET dữC#Đồng vi.Net Framework khuông giá hạ lưỡng chủng chủ yếu đích trình tự thiết kế ngữ ngôn, đô thị vi liễu điều dụng.Net Framework đích loại khố tư nguyên, nhân thử lưỡng chủng ngữ ngôn cụ hữu ngận cao đích đối ứng tính, sổ cư loại hình, khống chế kết cấu dữ ngữ ngôn đặc tính đô tồn tại nhất nhất đối ứng, dung dịch bả nguyên đại mã tòng nhất chủng ngữ ngôn đối dịch vi lánh nhất chủng ngữ ngôn.

Vi nhuyễn công tư đích tập thành khai phát hoàn cảnhVisual StudioThị tối vi quảng phiếm sử dụng đích VB.NET khai phát công cụ. Nhiên nhi Visual Studio đích đại bộ phân bản bổn đô thị giới cách bất phỉ đíchThương nghiệp nhuyễn kiện,Trừ liễuExpress bản bổnHòaVisual Studio Community( dĩ thượng lưỡng giả giai viMiễn phí nhuyễn kiện). Trừ liễu Visual Studio,SharpDevelopHòaMonoDã thị khả dụng đích VB.NET khai phát hoàn cảnh.

Sổ cư loại hình dữ tự diện thường lượng biểu kỳ

[Biên tập]

VB.Net đích sổ cư loại hình, thật tế thượng thị.Net Framework định nghĩa đích sổ cư loại hình.

Loại hình danh Tự tiết trường độ Thủ trị phạm vi Biểu kỳ pháp
Short 2 tự tiết -32768~32767 number S
Integer 4 tự tiết -2 147 48 3 648~2 147 483 647 number I
Long 8 tự tiết -9223372036854775808 ~ 9223372036854775807 number& numberL
Single 4 tự tiết 7 vị hữu hiệu sổ tự num! numberF
Double 8 tự tiết 15/16 vị hữu hiệu sổ tự id# numberR
Decimal 16 tự tiết 29 vị hữu hiệu sổ tự id@ numberD
Currency 8 tự tiết Tiểu sổ điểm hữu 4 vị, tả 15 vị number@
Byte 1 tự tiết 0-255
Char 2 tự tiết UTF-16 tự phù "d" C
DateTime 8 tự tiết 0001-01-01T00:00:00.000 ~ 9999-12-31T23.59.59.999 #4/102008 06:01:23.456 PM#
Boolean 2 tự tiết True(-1) False(0)
String UBSTR, tự phù sổ lượng *2+2 UTF-16 tự phù xuyến "Hello" $
Object 4 tự tiết
Variant

Thử ngoại, hoàn hữu SByte, UShort, UInteger, ULong đẳng vô phù hào sổ cư loại hình.

&O123 biểu kỳ bát tiến chế; &H123 biểu kỳ thập lục tiến chế.

Ngữ pháp đặc tính

[Biên tập]

VB sử dụng đích danh tự thị đại tiểu tả bất mẫn cảm đích. Đãn thị,CLRThị đại tiểu tả mẫn cảm đích. Sở dĩ kiến nghị bảo trì nhất trí đích đại tiểu tả.

Không trị

[Biên tập]

VB tự bản bổn 5 dĩ hậu đích sổ cư loại hình lai nguyên vuCOM,Nhi kỳ căn nguyên thịOLESổ cư loại hình.

  • Nothing ( C# đích null ) biểu kỳ Object loại hình đích biến lượng ( tức COM trung đích IDispatch chỉ châm, VB trung đích sở hữu loại hòa khống kiện quân do IDispatch phái sinh ) vi không. Đối vu dẫn dụng hình biến lượng, biểu kỳ vị bảng định đáo nhất cá vật lý thật thể đối tượng.
  • Empty biểu kỳ VARIANT loại hình biến lượng vị sơ thủy hóa ( tức COM trung đích VARIANT kết cấu thể trung đích VT thành viên trị vi VT_EMPTY ).
  • Null biểu kỳ VARIANT loại hình biến lượng dĩ sơ thủy hóa, kỳ trị vi Null, giá thời COM trung đích VARIANT kết cấu thể trung đích VT thành viên trị vi VT_NULL. Thông thường thị sở yếu biểu kỳ đích trị bất tồn tại hoặc giả hữu vấn đề bất hợp quy. Thật tế thượng, nhất cá dẫn dụng hình biến lượng như quả bị phú trị vi Null, tắc tha bảng định đích địa chỉ vi 0x0000
  • Linh trường độ tự phù xuyến ( không tự phù xuyến ) nhu yếu phân phối nội tồn, chỉ bất quá nội tồn ( tức COM trung đích BSTR tự phù xuyến ) đầu 4 cá tự tiết ký lục đích trường độ vi 0. VB.Net định nghĩa liễu nhất cá Public Shared Readonly Empty As String = "". Đối vu cận thanh minh đãn vị thật lệ hóa đích String đối tượng, thật tế thượng đô bảng định đáo String.Empty đối tượng thượng.
  • vbNullString một hữu phân phối sổ cư nội tồn, thật tế thượng định nghĩa vi Dim *vbNullString As String = Nothing. Đãn hựu quy định liễu tự phù xuyến bỉ giác thời vbNullString = "" vi chân.

Tại dữ không trị tố bỉ giác thời, nhu yếu khu phân các chủng bất đồng dụng pháp:

  • Đối tượng ( dẫn dụng hình biến lượng ) thị phủ vi Nothing, khả dụng IsNothing ( đối tượng danh ), đối tượng danh Is Nothing, đối tượng danh IsNot Nothing đẳng
  • Tại bỉ giác sổ cư khố đích nhất cá tự đoạn đích trị thị phủ vi không, tại.Net trung ứng cai dụng IsDBNull hàm sổ hoặc Convert.IsDBNull phương pháp. Lệ như IsDBNull(recordSet( "Column1" ).Value)) hoặc giả recordSet( "Column1" ).Value=DBNull.Value. Nhân vi DBNull thị phái sinh tự Object đích nhất cá loại, DBNull.Value thị tha đích duy nhất đích trị. Nhi sổ cư khố trung đích tự đoạn trị, tại DataRow trung tổng thị biểu kỳ vi Object, vĩnh viễn bất khả năng vi nothing.
  • Bỉ giác tự phù xuyến đối tượng thị phủ vi không xuyến, thật tế thượng quy định liễu hạ thuật tam chủng thị đẳng hiệu đích:
    • Đối tượng danh = ""
    • Đối tượng danh = String.Empty
    • Đối tượng danh = vbNullString

Đối vu khả không loại hình, thật tế thượng thị Nullable(Of T) phiếm hình kết cấu. Lệ như, hạ thuật tam hành đẳng giới:

Dim ridesBusToWork1? As Boolean
Dim ridesBusToWork2 As Boolean?
Dim ridesBusToWork3 As Nullable(Of Boolean)

Bỉ giác biểu đạt thức someVar = Nothing đích kết quả vĩnh viễn thị Nothing, ứng cai dụng someVar.HasValue() phương pháp khứ phán đoạn thị phủ vi không, hoặc giả dụng Is hoặc IsNot quan kiện tự.

Sổ tổ

[Biên tập]
Dimarr([upperLimit])AsdataType=newdataType([upperLimit]){[initialValues]}' thanh minh sổ tổ
arr(index)=value' sử dụng sổ tổ

Sổ tổ đích hạ tiêu khai thủy tự 0, giá tuân tòng liễu.NET đích tiêu chuẩn. Như quả bất chỉ định sổ tổ đích hạ tiêu thượng giới, tắc vi động thái sổ tổ, kỳ trường độ khả dĩ động thái điều chỉnh.

Kết cấu khống chế ngữ cú

[Biên tập]

Phân chi ngữ cú

[Biên tập]
  • If ngữ cú
IfĐiều kiệnThen
Ngữ cú
ElseIfĐiều kiệnThen
Ngữ cú
Else
Ngữ cú
EndIf
  • Switch ngữ cú
SelectCaseVariable
CaseValue1
Statements
CaseValue2
Statements
CaseValue3
Statements
...
CaseElse
Statements
EndSelect

Tuần hoàn ngữ cú

[Biên tập]

Bao quát hạ thuật kỉ chủng:

  • For...Next tuần hoàn
ForvarName=Sơ trịToChung trị[StepBộ trường]
Tuần hoàn thể ngữ cú
NextvarName
  • Do tuần hoàn
Do[{While|Until}condition]
statements
[ExitDo]
Loop

Hoặc

Do
statements
[ExitDo]
statements
Loop[{While|Until}condition]
  • While tuần hoàn
Whilecondition
statements
[ExitWhile]
statemenst
EndWhile
  • For Each...Next tuần hoàn
ForEachelementingroup
statements
Next[element]

Yield ngữ cú

[Biên tập]

Thật hiện điệt đại khí biến lịch nhất cá tự liệt, mỗi thứ hoạch thủ nhất cá phản hồi trị. Điệt đại khí khả dĩ tác vi nhất cá phương pháp hoặc chúc tính đích get phóng vấn khí, kỳ trung đích Yield ngữ cú phản hồi điệt đại khí đích phản hồi trị, tịnh ký trụ đương tiền chấp hành đích vị trí. Hạ thứ tái điều dụng điệt đại khí, tòng cai chấp hành vị trí khôi phục chấp hành, trực chí điệt đại khí đại mã chấp hành hoàn hoặc giả ngộ đáo Exit Function hoặc Return ngữ cú. Biên dịch khí bả điệt đại khí tác vi nhất cáTrạng thái cơĐích loại.

SubMain()
DimdaysAsNewDaysOfTheWeek()
ForEachdayAsStringIndays
Console.Write(day&"")
Next
' Output: Sun Mon Tue Wed Thu Fri Sat
Console.ReadKey()
EndSub

PrivateClassDaysOfTheWeek
ImplementsIEnumerable

Publicdays=
NewString(){"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}

PublicIteratorFunctionGetEnumerator()AsIEnumerator_
ImplementsIEnumerable.GetEnumerator

' Yield each day of the week.
ForiAsInteger=0Todays.Length-1
Yielddays(i)
Next
EndFunction
EndClass

Vật kiện đạo hướng

[Biên tập]

Vật kiện đạo hướng thời, loại đích thanh minh phạm lệ:

PublicClassclassName[InheritsbassClassName]
PublicvarNameAsInteger' tư liêu thành viên
Public[ReadOnly/WriteOnly]PropertypropertyName()AsInteger' chúc tính
PublicGet
Returnm_var
EndGet
PublicSet(ByValvalueAsInteger)
m_var=value
EndSet
EndProperty
PublicSubsubName(ByValparam1AsInteger)' phương pháp
EndSub
PublicFunctionfuncName(ByValparam2AsInteger)AsInteger' hàm sổ
Return101
EndFunction
[atrributive_list][accessibiliby][Shadows]EventeventName([Parameter])[Implementsinterfaces.event]' sự kiện
PublicSubnew([Parameter])' loại đích cấu tạo tử (constructor), khả dĩ hữu đa cá ( tức khả dĩ trọng tái )
EndSub
EndClass

Thượng thuật kỳ lệ trung đích Public quan kiện tự biểu kỳ khả tồn thủ tính (accessibility), biểu kỳ khả dĩ bị nhậm ý đại mã tồn thủ; tha khả dĩ thế hoán vi kỳ tha đích khả tồn thủ tính: Private ( cận hạn cai Class tự thân tồn thủ ), Friend ( cận hạn đồng nhất hạng mục trung đích đại mã tồn thủ ), Protected ( cận hạn tự thân hoặc diễn sinh loại biệt tồn thủ ), Protected Friend đẳng. Như quả sử dụng ReadOnly, tắc biểu kỳ tư liêu thành viên hoặc chúc tính thị duy độc; WriteOnly biểu kỳ chỉ tả. Shadows quan kiện tự biểu kỳ phúc cái phụ loại trung đồng danh ( đãn bất nhất định tham sổ tương đồng ) đích Event. Sử dụng quan kiện tự MyBase dẫn dụng cơ sở loại biệt.

Loại khả dụng kế thừa tu sức từ: NotInheritable quan kiện tự, biểu kỳ cai loại bất năng tố cơ sở loại biệt; MustInherit quan kiện tự, biểu kỳ giá thị nhất cá trừu tượng loại.

Loại đích chúc tính dữ phương pháp năng phủ bị phúc cái: Overridable quan kiện tự biểu kỳ khả bị phúc cái; Overrides quan kiện tự biểu kỳ phúc cái liễu cơ sở loại biệt trung đồng danh đích phương pháp hoặc chúc tính; NotOverridable quan kiện tự biểu kỳ bất khả phúc cái; MustOverride biểu kỳ phương pháp hoặc chúc tính cận thanh minh một hữu thật hiện, giá thời cai loại tất tu hữu MustInherit tu sức từ, thị nhất cá trừu tượng loại hoặc giả giới diện, cận năng bao hàm chúc tính, phương pháp, hàm sổ đích thanh minh.

Như đồng kỳ tha.Net ngữ, Visual Basic bất duẫn hứa đa trọng kế thừa, đãn khả dĩ đồng thời thật hiện đa cá interface.

Giới diện ( interface )

[Biên tập]

Giới diện thị nhất loại đặc thù đích trừu tượng loại, bất năng bao quát khả chấp hành đại mã dữ loại đích tư liêu thành viên đích thanh minh:

InterfaceinterfaceName
EventeventName([param])
Property[ReadOnly/WriteOnly]propertyNameAstypeName
FunctionfuncName([param])AsreturnTypeName
EndInterface

Giới diện trung giá ta thành viên đô cường chế thị Public khả tồn thủ tính.

Thật hiện nhất cá giới diện, sử dụng Implements quan kiện tự:

PublicFunctionGetEnumerator()AsIEnumerator_
ImplementsIEnumerable.GetEnumerator

Đa hình ( Polymetric )

[Biên tập]

Cơ ô kế thừa đíchĐa hình,Thị chỉ dụng cơ sở loại biệt loại hình đích biến sổ hệ kết bất đồng đích tử loại biệt vật kiện, giá dạng hô khiếu cơ sở loại biệt biến sổ đích phương pháp, tạiChấp hành thờiĐộng thái xác định thật tế chấp hành liễu na cá diễn sinh loại biệt đích đồng danh đích phương pháp. Đa hình đích ưu điểm thị khả dĩ châm đối cơ sở loại biệt ( hoặc giới diện ) đích phương pháp lai tả nhất cá thông dụng đích quá trình hoặc giả tư liêu dung khí, thích dụng ô các chủng bất đồng đích diễn sinh loại biệt đích cụ thể thật hiện.

Ủy thác ( Delegate )

[Biên tập]

Ủy thác bổn chất thượng thị nhất chủng Class, diễn sinh tự System.Delegate, bao hàm liễu tam bộ phân tư liêu: Nhất cá loại vật kiện đích địa chỉ, cai vật kiện sở chúc loại đích nhất cá phương pháp đích địa chỉ, dĩ cập lánh nhất cá ủy thác đích dẫn dụng ( reference ). Tiền lưỡng bộ phân khả dĩ thật hiện đối nhất cá loại vật kiện đích phương pháp đích hô khiếu; đệ tam bộ phân bả ủy thác hình thành nhất cá liên kết xuyến liệt, sử kỳ y thứ bị hô khiếu chấp hành. Như hạ thanh minh liễu nhất cá ủy thác:

Delegate Sub PlayHandler(ByVal sender As Object, ByVal e As System.EventArgs)

Ủy thác thường dụng ô sự kiện xử lý ( Event Handler )..Net FrameworkĐích sự kiện thị loại đích chúc tính ( thật tế thượng thị nhất cá sào trạng loại ), dụng ô phong trang tham sổ cách thức cố định đích ủy thác; cai ủy thác đích tham sổ tổng thị vi (ByVal sender As Object, ByVal e as System.EventArgs), phản hồi trị vi void ( tức Sub loại hình ). Lệ như:

Public Class clsName
Public Event monitor As PlayHandler
End Class

Đối nhất cá cụ thể đích thật lệ, khả dĩ cấp tha đích sự kiện tại vận hành thời động thái truy gia thượng nhất cá hoặc đa cá sự kiện xử lý hàm sổ:

AddHandlerins.monitor, AddressOf playHandle_1

AddHandle chỉ hướng dẫn phát sự kiện đích đối tượng; AddressOf bả nhất cá hàm sổ hoặc quá trình danh chuyển hóa vi nhất cá ẩn thức sang kiến đích ủy thác thật lệ, dụng ô xác định cai sự kiện vật kiện sở yếu hô khiếu đích sự kiện xử lý trình tự. Tại AddressOf quan kiện tự khả ẩn thức sang kiến nhất cá dẫn dụng đặc định quá trình đích ủy thác đích thật lệ.

Trình tự khả dĩ phao xuất nhất cá sự kiện:

Dim WithEvents e As New System.EventArgs
Dim ins As New clsName
RaiseEvent ins.monitor(ins,e)

using ngữ cú

[Biên tập]

using ngữ cú, định nghĩa nhất cá phạm vi, tại phạm vi kết thúc thời tự động thích phóng đối tượng sở chiêm dụng đích tư nguyên.

Using conn As New SqlConnection' đương tại mỗ cá đại mã đoạn trung sử dụng liễu loại biệt đích thật lệ, nhi hi vọng vô luận nhân vi thập ma nguyên nhân, chỉ yếu ly khai liễu giá cá đại mã đoạn tựu tự động hô khiếu giá cá loại biệt thật lệ đích Dispose.
' chấp hành đại mã
End Using

Tự động chúc tính

[Biên tập]

Lệ như:

Public Property pa As String= ""

Đối tượng sơ thủy hóa khí

[Biên tập]

Tập hợp ( Collection ) đối tượng đích sơ thủy hóa dữ phổ thông loại đối tượng đích chúc tính sơ thủy hóa, phân biệt sử dụng From dữ With quan kiện tự. Lệ như:

PublicClassPerson
PublicPropertyageAsInteger
PublicPropertyNameAsString
EndClass

DimpersonListAsNewList(OfPerson)From{
NewPersonWith{.Name="Qiang",.age=24},
NewPersonWith{.Name="Wei",.age=42}
}

Nặc danh loại hình

[Biên tập]

Lệ như:

Dim people = New With {.name= "kyo",.age=22}

Nặc danh hàm sổ hoặc lambda biểu đạt thức

[Biên tập]

Tức vô danh đích hàm sổ hoặc quá trình, tác vi biểu đạt thức đích trị. Khả dĩ tả vi nhất hành hoặc đa hành. Lệ như:

Dim func1=Function(i As integer) i+10
Dim action = sub()
End Sub
Dim func2 = Function()
End Function

Khả dĩ tại thanh minh nặc danh hàm sổ đích đồng thời điều dụng tha. Đan hành đích lambda biểu đạt thức bất năng sử dụng Return quan kiện tự, kỳ phản hồi loại hình thị tự động thôi đạo đắc xuất; kỳ tham sổ yếu ma đô thị dụng As quan kiện tự chỉ minh loại hình, yếu ma toàn bộ thị tự động thôi đạo xuất loại hình.

lambda biểu đạt thức tại định nghĩa thời khả dĩ sử dụng sở tại thượng hạ văn ( context, tức C++ ngữ ngôn đích bế bao closure ) đích cục bộ biến lượng, tham sổ, chúc tính, Me đẳng đẳng đích trị, tức sử lambda biểu đạt thức ly khai liễu định nghĩa thời sở tại đích context, giá ta bị sử dụng đích cục bộ biến lượng đẳng đích trị nhưng nhiên hữu hiệu. Giá thị nhân vi lambda biểu đạt thức tại định nghĩa thời bả sở dụng đáo đích context đích trị bảo tồn đáo tha tự kỷ đích định nghĩa loại trung. lambda biểu đạt thức khả dĩ khảm sáo định nghĩa.

Khoách triển phương pháp

[Biên tập]

Lệ như:

Imports System.Runtime.CompilerServices
<Extension()> Public Function funcName(ByVal ins As className) As String
'Do something
End Function

Dị thường xử lý

[Biên tập]
Try
' write the condition here
CatchexAsExceptionWhencondition
' Handle Exception when a specific condition is true
CatchexAsException
' Handle Exception
Finally
' Cleanup, close connections etc
' NB this code is always executed regardless of if an Exception was raised or not!
EndTry
From element [ As type ] In collection [, element2 [ As type2 ] In collection2 [,... ] ] [Where biểu đạt thức ]

Lệ tử ( Hello World )

[Biên tập]

Giá lí cấp xuất liễu nhất cá Hello World đích lệ tử. Thông quá tha môn nâm khả dĩ canh hảo địa lý giải Visual Basic đích đặc tính. ( thử nguyên đại mã vận hành vu mệnh lệnh hành hạ )

ModuleMdl_Main
SubMain()
Console.WriteLine("Hello World")
EndSub
EndModule

Giá cá trình tự năng thâu xuấtHello World.

ModuleMdl_Main

Đệ nhất hành thị mô khối định nghĩa, mệnh danh không gian đích định nghĩa nhất bàn khả dĩ tỉnh lược. VB.NET trung, sở hữu hàm sổ, quá trình dữ biến lượng đích thanh minh đô tất tu tại mô khối hoặc giả loại đích nội bộ, nhi bất năng trực tiếp tồn tại vu mệnh danh không gian nội bộ.

SubMain()

Đệ nhị hành định nghĩa liễu danh vi Main đích quá trình. Nhất bàn lai thuyết, “Sub Main()” thị trình tự đích nhập khẩu điểm.

Console.WriteLine("Hello World")

Đệ tam hành thâu xuất “Hello World”.

EndSub

Đệ tứ hành kết thúc liễu quá trình Main đích định nghĩa.

EndModule

Đệ ngũ hành kết thúc liễu mô khối Mdl_Main đích định nghĩa.

Dữ cựu bản VB bỉ giác

[Biên tập]

Dữ cựu bảnVB( VB 6.0 cập dĩ tiền ) tương bỉ giác, VB.NET minh hiển thụ đáo liễu.Net Framework trung kỳ tha ngữ ngôn tư tưởng đích ảnh hưởng. Dữ cựu bản VB tương bỉ, VB.NET canh gia nghiêm cách nhi bất thất linh hoạt.

  • LongLoại hình dữIntegerLoại hình đích trường độ phân biệt bội tăng, đạt đáo liễu 64 vị hòa 32 vị.
  • Sự kiệnĐích xử lý quá trình bất tái y lại vu danh xưng, nhi thị thông quáHandleTử cú tiến hành tĩnh thái bảng định hoặc giả tại vận hành thời tiến hành động thái bảng định. Lệ như xử lý án nữu khống kiệnButton1ĐíchClickSự kiện:

Visual Basic 6: ( chú ý thử quá trình đích danh xưng bất khả cải biến )

PrivateSubButton1_Click()
'Work to do
EndSub

VB.NET: ( chú ý thử quá trình đích danh xưng vô quan khẩn yếu )

PrivateSubButton1_Click(ByValsenderAsObject,ByValeAsEventArgs)HandlesButton1.Click
'Work to do
EndSub
  • Ngận đa nguyên hữu đích thật hiện đặc thù công năng đích ngữ cú bị tương ứng định nghĩa hảo đích hàm sổ thế đại. Giá giảm thiếu liễu quan kiện tự đích sử dụng ( nhưOpen()Hàm sổ thủ đạiOpenNgữ cú, song thể đíchPrint()Phương pháp thủ đạiPrintNgữ cú ). Đồng thời, bị phong trang hảo đích, công năng canh cường đại đích, thông dụng vu.Net Framework khuông giá đích loại bị thôi tiến dụng lai thủ đại nguyên hữu đích ngữ cú.
  • Đối nhất ta canh cường đại đích ngữ pháp đặc tính đích chi trì, như:LINQ,Lambda biểu đạt thức( Visual Basic 2010 khởi chi trì đa hành Lambda ).
  • Đồng dạng sử dụng:Tác vi nhất hành trung phân hành đích phù hào,_Tác vi tục hành phù. Đãn thị VB.NET tự Visual Basic 2012 khởi duẫn hứa tại hàm sổ đích định nghĩa dữ điều dụng trung bất gia_Địa dụng hoán hành phân cách các cá tham sổ.

Dữ C# đẳng C gia tộc ngữ ngôn bỉ giác

[Biên tập]

Dữ C gia tộc ngữ ngôn tương bỉ, VB.NET tắc giác đa bảo lưu liễu VB đích đặc chinh, bỉ như:

  • Dữ C gia tộc ngữ ngôn thống nhất sử dụng{,}Định nghĩa ngữ cú khối bất đồng, VB.NET mỗi chủng ngữ cú khối đô hữu đối ứng đích khai đầu dữ kết vĩ. NhưIf... Else... End If,Class... End Class.
  • VB.NET định nghĩa biến lượng sử dụngDimQuan kiện tự, đồng thời sử dụngPublic,PrivateHoặcProtectedBiểu minh tác dụng vực thời khả dĩ tỉnh lượcDim.
  • VB.NET biểu kỳ biến lượng loại hình đích phương thức thị tại biến lượng danh hậu phụ giaAs Type( Type vi biến lượng loại hình ), nhi C gia tộc ngữ ngôn thị tại biến lượng danh chi tiền thư tả loại hình danh, vô luận tại định nghĩa biến lượng thời hoàn thị tại hàm sổ dữ hình tham đích thanh minh thời đô thị giá dạng.
  • VB.NET trung hữu một hữu phản hồi trị đích đặc thù tử quá trìnhSub.VB.NET trung một hữuvoidLoại hình, C# trung phản hồi trị vivoidĐích hàm sổ đối ứng liễu VB.NET trung đíchSub.
  • VB.NET trung hữu nhất chủng đặc thù đích loại hìnhModule,Tương đương vu C# trung đíchstatic class.

Hạ diện giá lưỡng phân công năng nhất trí đích đại mã triển hiện xuất liễu VB.NET dữ C# đích ngận đa bất đồng chi xử:

  • VB.NET:
NamespaceN
'Comment
ModuleM
PublicFunctionGetSum(arr()AsInteger)AsInteger
DimSum=0'Auto Type Infer
DimiAsInteger

ForEachiInarr
Sum+=i
Next

ReturnSum
EndFunction
EndModule

ClassC
PrivatevAsInteger

PublicFunctionF()AsInteger
Returnv*v
EndFunction

PublicSubS(valueAsInteger)
Me.v=value
EndSub

PublicSubNew()'Constructor
Me.v=0
EndSub
EndClass

EndNamespace
  • C#:
namespaceN
{
//Comment
staticclassM
{
intGetSum(int[]arr)
{
varSum=0;
inti;

foreach(iinarr)
{
Sum+=i;
}

returnSum;
}
};

classC
{
private:
intv;
public:
intF()
{
returnv*v;
}

voidS(intvalue)
{
this.v=value;
}

C()//Constructor
{
this.v=0;
}
};
}

VB.NET dữ C# đồng vi.Net Framework đích lưỡng đại chủ lực trình tự thiết kế ngữ ngôn, tẫn quản hữu trứ các chủng các dạng đích bất đồng, lưỡng giả tối chung đô biên dịch viMSILTịnh doCLRVận hành. Lưỡng giả công năng cơ bổn nhất trí, tịnh khả dĩ tại.Net Framework khuông giá hạ phương tiện địa hỗ tương điều dụng dữ hiệp đồng khai phát. Quan vu lưỡng giả đích ưu liệt nhất trực kiến nhân kiến trí.

Điều dụng C ngữ ngôn hàm sổ đích quy phạm

[Biên tập]

C ngữ ngôn biên tả đích DLL văn kiện, VB tại điều dụng thời, nhu yếu chú ý: Đối vu C ngữ ngôn đích sổ tổ chỉ châm, tại VB trung điều dụng thời ứng tương sổ tổ đích thủ nguyên tố truyện đệ cấp DLL. Bất năng trực tiếp truyện đệ sổ tổ danh, nhân vi như quả truyện đệ sổ tổ danh,VB thật tế hội truyện nhất cá phục tạp đích kết cấu loại hình cấp DLL. C hàm sổ vô pháp xác định sổ tổ đại tiểu, thông thường dụng lánh nhất cá tham sổ chỉ xuất sổ tổ đích đại tiểu.

<DllImport( "D:\GenericMESDLL.dll", CharSet:=CharSet.Unicode, CallingConvention:=CallingConvention.Cdecl)>
PublicSubtest(ByValparamAsInteger,ByRefOKAsInteger)
EndSub

' hạ thuật phương pháp chỉ năng sử dụng _stdcall điều dụng ước định:
PublicDeclareFunctiontest1Lib"D:\PackingDLL.dll"Alias"_test@4"(ByValparamAsInteger)AsInteger

Lịch sử

[Biên tập]

2002 niên Visual Basic.NET ( VB 7.0 )

[Biên tập]

Visual Basic.NET ( VB 7.0 ) thị tùy Visual C# hòa ASP.NET nhất khởi tại 2002 niên phát bố đích tối sơ thủy đích VB.NET bản bổn. C# bị đại lực tuyên truyện vi vi nhuyễn đối phó JAVA đích vương bài, thụ đáo môi thể cực lực quan chú. Nhiên nhi VB.NET ( hữu thời bị xưng vi VB 7.0 ) ảnh hưởng diện bất quảng, giá đạo trí VB xã khu chi ngoại ngận thiếu nhân quan chú tha. Na ta thí dụng quá thử bản VB.NET đích nhân tại tằng tằng mạc bố hạ phát hiện nhất cá cường đại khước gian thâm đích ngữ ngôn, nhi thả hoàn hữu bất thiếu khuyết điểm, lệ như tha đích vận hành giai đoạn tổ kiện ( Run-Time ) bỉ VB6 đại liễu thập bội, tồn trữ khí sử dụng lượng dã đại đại tăng gia.

VB 7.0 dẫn khởi liễu quảng phiếm đích tranh nghị, chủ yếu nguyên nhân tại vu đối cựu bản VB đích cải động quá đại. Hứa đa tư thâm đích VB trình tự viên bão oán VB.NET, nhân vi VB.NET 2002 đâu điệu liễu hứa đa bất tái phát hành đích VB6 trung sử dụng đích đại lượng ngữ ngôn kết cấu hòa dụng hộ giới diện công năng, tịnh thả đối bảo lưu hạ lai đích đông tây dã cải biến liễu ngữ ý. Lệ như, tại VB.NET tham sổ mặc nhận thị dĩ trị phương thức truyện đệ đích, nhi bất thị dĩ dẫn dụng phương thức. VB.NET 2002 bị bán trào phúng bán nhận chân địa xưng vi Visual Fred hoặc VB DOTNOT. Tác vi đối 2005 niên 3 nguyệt 8 nhật vi nhuyễn cự tuyệt vi VB6 tái đề cung duy hộ dữ chi trì đích hồi ứng, đương nguyệt nguyệt để xuất hiện liễu phản đối giả đích thỉnh nguyện[4].

VB.NET đích chi trì giả môn nhận vi tân ngữ ngôn tại ngận đa phương diện bỉ cựu bản bổn canh vi cường đại, bỉ như tha dĩ tương bỉ tảo kỳ bản bổn canh vi tự nhiên, khẩn mật hòa hoàn toàn đích phương thức địa gia nhập liễu hiện đại diện hướng đối tượng đích biên trình phạm thức. Phản đối giả môn hữu bất đồng ý kiến, tuy nhiên VB6 đối đối tượng mô hình chi trì hữu khuyết điểm, đãn thị nhị thứ khai phát thăng cấp đáo VB.NET đích thành bổn bỉ thăng cấp hậu đích thu ích yếu cao đắc đa. Nhi khai phát nhuyễn kiện phát bố nhân đặc võng bản bổn đích độc lập trình tự viên dã đối VB.NET đích RunTime xích thốn quá đại bất mãn.

Châm đối khai phát giả đích bất mãn, vi nhuyễn chủ yếu tố liễu như hạ nỗ lực: Sử tân đích khai phát canh dung dịch khải động, nhi bả dĩ kinh khai phát đích VB6 đại mã thăng cấp đáo VB.NET[5].Lệ tử chủ yếu bao quát: Hoàn thành VB6 trung đích thường kiến nhậm vụ như đả ấn dự lãm; chỉnh hợp VB6 hòa VB.NET giải quyết phương án ( dubbed VB Fusion ), tòng VB6 đại mã chuyển hoán đáo VB.NET.

Vi nhuyễn tại hậu tục bản bổn trung triệt tiêu liễu nhất ta quá kích đích canh cải, tịnh thả hấp thủ liễu kinh nghiệm. Tại dĩ hậu bản bổn trung, ngữ pháp đích canh cải biến đắc canh gia cẩn thận.

2003 niên Visual Basic.NET 2003 ( VB 7.0 )

[Biên tập]

Visual Basic.NET 2003 ( VB 7.0 ) hòa.NET Framework 1.1 nhất khởi phát bố. Tân công năng bao quát đối.NET Compact Framework đích chi trì hòa canh hảo đích VB thăng thiên hướng đạo. Tịnh cải tiến liễu vận hành trạng huống, IDE ổn định tính ( vưu kỳ thị hậu đài biên dịch khí ), dĩ cập vận hành thời RunTime ổn định tính. Lánh ngoại, VB.NET 2003 hoàn hữu nhất cá học viện bản Visual Studio.NET 2003 Academic Edition ( VS03AE ), tha thị phân phát cấp các quốc mỗ ta học giả miễn phí sử dụng đích bản bổn.

2005 niên Visual Basic 2005 ( VB 8.0 )

[Biên tập]

Visual Basic 2005 ( VB 8.0 ) thị VB.Net đích trọng đại chuyển biến, vi nhuyễn quyết ý tại kỳ nhuyễn kiện danh xưng trung khứ điệu liễu.NET bộ phân. Tại VB2005 trung, vi nhuyễn tăng gia liễu hứa đa tân công năng, dĩ dẫn dụng VB đối vu sơ học giả lai thuyết đích nhất ta ưu điểm:

Chủ yếu đích biến động:

  • Bất tái chi trì “Edit and Continue” - tảo kỳ Visual Basic khả dĩ tại điều thí thời tu cải đại mã tịnh thả bất kinh trọng tân biên dịch địa chấp hành. Visual Basic 2005 khứ điệu liễu giá cá công năng;
  • Thiết kế thời biểu đạt thức cầu trị;
  • Đề cung My ngụy mệnh danh không gian, bao hàm liễu bất nhu đại lượng biên mã nhi phóng vấn đặc định.NET Framework công năng đích giản đan phương thức; đề cung liễu cải tiến đích VB đáo VB.NET chuyển hoán hướng đạo; Using ngữ pháp, giản hóa liễu nhu yếu bộ thự pattern to free resources đích đối tượng đích sử dụng; My biên mã, khả ẩn tàng do VB.NET IDE tả đích mô bản đại mã; sổ cư nguyên bảng định, giản hóa liễu sổ cư khố C/S khai phát. Thượng thuật công năng ( vưu kỳ thị My ) tăng cường liễu VB.Net thành vi khoái tốc khai phát ứng dụng bình đài đích khả năng, tịnh dữ C# tiến nhất bộ khu biệt khai lai. Visual Basic 2005 thông quá tăng gia tân công năng nhi giảm tiểu liễu hòa kỳ tha sở vị canh cường đại đích.NET ngữ ngôn đích soa cự.
  • Tăng gia liễu.NET 2.0 ngữ ngôn công năng bao quát:Phiếm hình( generics ) hòa Partial loại ( tại nhất cá văn kiện lí định nghĩa nhất cá loại đích mỗ bộ phân nhiên hậu tại lánh ngoại đích văn kiện lí thiêm gia canh đa đích định nghĩa, giá cá phương pháp tại chỉnh hợp dụng hộ thư tả đích đại mã hòa hệ thống tự động sinh thành đích đại mã thời vưu kỳ hữu dụng );
  • XML chú thích, khả dĩ bị NDoc đẳng công cụ xử lý nhi tự động sinh thành văn đương;
  • Thao tác phù trọng tái;
  • Chi trì tại kỳ tha ngữ ngôn trung dĩ kinh quảng phiếm sử dụng đíchunsigned integerSổ cư loại hình;
  • Chi trì tại hứa đa C diễn sinh biên trình ngữ ngôn dĩ đề cung đích phục hợp thao tác phù như: "+=", "-=";
  • IsNot chuyên lợi: If Not X Is Y biểu đạt thức bị chuyển hoán thành If X IsNot Y. Đương vi nhuyễn vi IsNot thân thỉnh chuyên lợi thời chiêu trí liễu ác danh ( vưu kỳ lai tự Real công tư );
  • Visual Basic 2005 Express: Tác vi VS sản phẩm tuyến thượng đích nhất bộ phân, VB2005 Express thị chuyên vi nghiệp dư ái hảo giả hòa tân thủ định chế đích miễn phí đích VS Express hệ liệt đích nhất viên. Express bản bổn mục đích định vị tại bang trợ nhân môn học tập nhất chủng ngữ ngôn, sở dĩ tha môn hữu hòa tiêu chuẩn bản nhất trí đích dụng hộ giới diện, chỉ thị thiếu liễu nhất ta cao cấp công năng. Lánh ngoại, VS Express bản bao quát liễu VB6.0 chuyển hoán khí, đề cung liễu tòng VB lão bản bổn thăng cấp đích khả hành phương pháp.

2008 niên Visual Basic 2008 ( VB 9.0 )

[Biên tập]

Visual Basic 2008 ( VB 9.0 ) vu 2007 niên 11 nguyệt 9 nhật dữ Microsoft.NET Framework 3.5 nhất khởi phát bố.

Tại VB2008 trung, vi nhuyễn tăng gia liễu hứa đa công năng, bao quát:

  • IIF hàm sổ
  • Nặc danh loại hình
  • Chi trì LINQ
  • Lambda biểu đạt thức
  • XML sổ cư kết cấu
  • Loại tiếp khẩu

2010 niên Visual Basic 2010 ( VB 10.0 )

[Biên tập]

Visual Basic 2010 vu 2010 niên 4 nguyệt phát bố.

2012 niên Visual Basic 2012 ( VB 11.0 )

[Biên tập]

2013 niên Visual Basic 2013 ( VB 12.0 )

[Biên tập]

2015 niên Visual Basic 2015 ( VB 14.0 )

[Biên tập]

Visual Basic 2015 ( VB 14.0 ) ô 2015 niên 7 nguyệt 20 nhật phát bố.

2017 niên Visual Basic 2017 ( VB 15.0 )

[Biên tập]

2019 niên Visual Basic 2019 ( VB 16.0 )

[Biên tập]

2022 niên Visual Basic 2022 ( VB 17.0 )

[Biên tập]

[6] 2022 niên 9 nguyệt 13 nhật - Visual Studio 2022 17.0.14 bản NewReleaseIcon

2022 niên 8 nguyệt 9 nhật - Visual Studio 2022 17.0.13 bản

2022 niên 7 nguyệt 12 nhật - Visual Studio 2022 17.0.12 bản

2022 niên 6 nguyệt 14 nhật - Visual Studio 2022 17.0.11 bản

2022 niên 5 nguyệt 10 nhật - Visual Studio 2022 17.0.10 bản

2022 niên 4 nguyệt 19 nhật - Visual Studio 2022 17.0.9 bản

2022 niên 4 nguyệt 12 nhật - Visual Studio 2022 17.0.8 bản

2022 niên 3 nguyệt 8 nhật - Visual Studio 2022 17.0.7 bản

2022 niên 2 nguyệt 8 nhật - Visual Studio 2022 17.0.6 bản

2022 niên 1 nguyệt 13 nhật - Visual Studio 2022 17.0.5 bản

2021 niên 12 nguyệt 16 nhật - Visual Studio 2022 17.0.4 bản

2021 niên 12 nguyệt 14 nhật - Visual Studio 2022 17.0.3 bản

2021 niên 11 nguyệt 30 nhật - Visual Studio 2022 17.0.2 bản

2021 niên 11 nguyệt 16 nhật - Visual Studio 2022 17.0.1 bản

2021 niên 11 nguyệt 8 nhật - Visual Studio 2022 17.0.0 bản

Tham khảo tư liêu

[Biên tập]
  1. ^Visual Studio 2022 version 17.9.2 Release Notes.2024 niên 2 nguyệt 27 nhật[2024 niên 2 nguyệt 27 nhật ].
  2. ^Option StrictKhai quan khả dĩ dụng vu thiết hoán an toàn hoặc bất an toàn.
  3. ^Tân tăng công năng - Visual Basic.[2021-08-16].(Nguyên thủy nội dungTồn đương vu 2021-12-03 ).
  4. ^Tồn đương phó bổn.[2014-04-05].(Nguyên thủy nội dungTồn đương vu 2014-04-07 ).petition
  5. ^http://msdn.microsoft.com/VBRun/(Hiệt diện tồn đương bị phân,Tồn vuHỗ liên võng đương án quán) VBRun website
  6. ^Tồn đương phó bổn.[2022-09-30].( nguyên thủy nội dungTồn đươngVu 2022-10-02 ).

Tham kiến

[Biên tập]

Ngoại bộ liên tiếp

[Biên tập]

Quan phương võng trạm

[Biên tập]

Giáo trình

[Biên tập]

Kỳ tha

[Biên tập]