Dạng bài tập về Micosoft.NET- P10 ppt

5 321 0
Dạng bài tập về Micosoft.NET- P10 ppt

Đang tải... (xem toàn văn)

Thông tin tài liệu

Các bài tập Microsoft .NET 46 Dim X1 As Object Dim X2 As Object X1 = "24.7" X2 = 5 Console.WriteLine(CSng(X1) + CInt(X2)) Console.WriteLine(CStr(X1) & CStr(X2)) End Sub CType Statement Trong VB.NET có Option Strict by default. Nó bắt ta phải thận trọng trong cách dùng data types. Vì Object có thể chứa bất cứ thứ gì, khi ta muốn dùng nó như một loại data type hay class nào, ta phải đổi Object ra thứ ấy bằng CType, thí dụ: Class Product Public Description As String End Class Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim X As Object X = New Product() ' Treat X like an actual product CType(X, Product).Description = "Soft Drink" Console.WriteLine(CType(X, Product).Description) End Sub Mặc dù X được instantiated như một Product, nó vẫn được xem như một Object variable. Do đó mỗi khi muốn dùng nó như một Product ta phải nhờ đến CType. Từ chuyên môn trong programming gọi đó là Type Casting. Thay đổi trong cách tuyên bố Variables Tuyên bố nhiều Variables Các bài tập Microsoft .NET 47 Trong VB6 ta có thể Declare nhiều variables trên cùng một hàng như: Dim i, j, k As Integer Kết quả là chỉ có k là Integer, còn i và j là Variant (có thể đó là điều bạn không ngờ). Trong VB.NET thì cả ba i,j và k đều là Integer, và như thế hợp lý hơn. Tuyên bố trị số khởi đầu Trong VB6, sau khi declare variable ta thường cho nó một trị số khởi đầu như: Dim X As Integer X = 12 Bây giờ trong VB.NET ta có thể gọp chung hai statements trên lại như sau: Dim X As Integer = 12 Tuyên bố Constants Khi tuyên bố Constants trong VB.NET ta phải khai rõ Data type của nó là String, Integer, Boolean v.v.: Public Const myConstantString As String = "happy" Public Const maxStudent As Integer = 30 Dim As New Trong VB6 ta được khuyên không nên code: Dim X As New Customer vì VB6 không instantiate một Object Customer cho đến khi X được dùng đến - chuyện này rất nguy hiểm vì có thể tạo ra bug mà ta không ngờ. Trong VB.NET ta có thể yên tâm code: Dim X As New Customer() vì statement nói trên lập tức tạo ra một Object Customer. Tuyên bố Variable trong Scope của Block Các bài tập Microsoft .NET 48 Trong thí dụ dưới đây, variable X được declared trong một IF THEN END IF block. Khi execution ra khỏi IF block ấy, X sẽ bị hủy diệt. Do đó, VB.NET sẽ than phiền là X undefined vì nó không thấy X bên ngoài IF block. Luật này cũng áp dụng cho những Blocks khác như DO LOOP, WHILE END WHILE, FOR NEXT, .v.v Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim A As Integer = 5 Dim B As Integer = 5 If A = B Then Dim X As Integer ' X is declared in this IF block X = 12 End If A = X ' X has been destroyed, so it is undefined here End Sub Có lẽ bạn hỏi Declare Variable trong FOR LOOP có lợi gì, tại sao ta không Declare một lần duy nhất ở đầu? Thứ nhất là Block giới hạn scope (phạm vi hoạt động) của một variable để nó không đụng chạm ai dễ gây nên bug, thứ hai là trường hợp điển hình ta sẽ cần feature này là trong một FOR LOOP, cứ mỗi iteration ta muốn instantiate một Object mới. Khi ấy ta cần Declare một Object variable, instantiate Object , rồi chứa nó vào một collection chẳng hạn. Truy cập Variable/Class/Structure Trong VB.NET ta có thể quyết định giới hạn việc truy cập một Variable, Class, Structure .v.v. bằng cách dùng các keywords sau: Loại truy cập Thí dụ Chú thích Public Public Class ClassForEverybody Cho phép ở đâu cũng dùng nó được. Ta chỉ có thể dùng Public ở mức độ Module, Namespace hay File. Tức là ta không thể dùng Public trong một Sub/Function. Các bài tập Microsoft .NET 49 Protected Protected Class ClassForMyHeirs Cho phép các classes con, cháu được dùng. Ta chỉ có thể dùng Protected ở mức độ Class. Friend Friend StringForThisProject As String Cho phép code trong cùng một Project được dùng. Private Private NumberForMeOnly As Integer Cho phép code trong cùng module, class, hay structure được dùng. Lưu ý là Dim coi như tương đương với Private, do đó ta nên dùng Private cho dễ đọc. Ngoài ra, nhớ là nếu container (Object chứa) của một Variable/Class/Structure là Private thì dù ta có tuyên bố một Variable/Class/Structure nằm bên trong container là Public ta cũng không thấy nó từ bên ngoài. Thay đổi trong Array Array index từ 0 Trong VB.NET không có Option Base và mọi Array đều có index bắt đầu từ 0. Khi bạn tuyên bố một array như: Dim myArray(10) As Integer Kết quả là một array có 11 elements và index từ 0 đến 10. UBound của array này là 10 và LBound của tất cả arrays trong VB.NET đều là 0. Tuyên bố Array với những trị số khởi đầu Bạn có thể tuyên bố Array với những trị số khởi đầu như sau: Dim myArray() As Integer = { 1, 5, 8, 16 } ' Note the curly brackets Statement làm hai chuyện: quyết định size của array và cho các elements trị số khởi đầu. Để dùng feature này, bạn không được nói rõ size của array, mà để cho program tự tính. ReDim Preserve Trong VB.NET bạn cũng có thể tiếp tục dùng Preserve keyword để giữ nguyên trị số của các elements trong một array khi bạn ReDim nó. Tuy Các bài tập Microsoft .NET 50 nhiên có một giới hạn cho array với hơn một dimension - bạn chỉ có thể resize dimention cuối (bên phải) , nên những hàng code sau đây hợp lệ: Dim myArray(,) As String ReDim myArray(5, 5) ReDim Preserve myArray(5, 8) Thay đổi trong User-Defined Type Ý niệm User-Defined Type (UDT) rất tiện cho ta gom các mảnh data liên hệ lại thành một data type có cấu trúc. Trong VB6 ta dùng nó như sau: Public Type UStudent FullName As String Age As Integer End Type VB.NET cũng giữ y đặc tính của UDT nhưng thay đổi chữ Type thành Structure: Public Structure UStudent Public FullName As String Public Age As Integer End Structure Lưu ý các Structure Members (như FullName , Age ) cần phải được Declared với keyword Dim, Public, Private hay Friend, nhưng không thể dùng Protected vì Structure không thể Inherit từ một Structure khác. Sở dĩ, có dùng Private là vì bên trong Structure có thể có Property, Sub/Function .v.v Thay đổi trong Collections VB6 hổ trợ Collection và sau này Windows Scripting Host Library cho ta collection kiểu Dictionary. VB.NET cho ta một thành phần collection rất hùng hậu trong Namespace System.Collections. Vì Collection là một trong những công cụ rất thông dụng và hiệu năng trong VB.NET nên ta sẽ có một bài dành riêng cho collection sau này. . Các bài tập Microsoft .NET 46 Dim X1 As Object Dim X2 As Object X1 = "24.7" X2 = 5 Console.WriteLine(CSng(X1). programming gọi đó là Type Casting. Thay đổi trong cách tuyên bố Variables Tuyên bố nhiều Variables Các bài tập Microsoft .NET 47 Trong VB6 ta có thể Declare nhiều variables trên cùng một hàng như: Dim. statement nói trên lập tức tạo ra một Object Customer. Tuyên bố Variable trong Scope của Block Các bài tập Microsoft .NET 48 Trong thí dụ dưới đây, variable X được declared trong một IF THEN END IF

Ngày đăng: 08/07/2014, 08:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan