2. Các đối tượng ASP.Net:
2.3. Biến và các cấu trúc điều khiển:
.NET Framework cung cấp nhiều ngôn ngữ lập trình khác nhau, mỗi một ngôn ngữ có cách khai báo biến và cấu trúc điều khiển khác nhau. Trong giáo trình này ta sử dụng Visual Basic.NET để minh họa.
2.3.1. Khai báo biến
Ta thực hiện khai báo biến theo cú pháp sau:
Trong trang ASP.NET, theo mặc định biến phải được khai báo trước khi được sử dụng. Ta có thể không khai báo biến mà vẫn sử dụng chúng trong trang ASP.NET bằng cách gán giá trị false (mặc định là true) cho Page Explicit theo
cú pháp sau: <%@ Page Explicit=False%>
Các kiểu biến được cho trong bảng sau:
CLR (Common Language
Runtime) Type Visual Basic Type C# Type
Boolean Boolean bool
Byte Byte byte
Char Char char
DateTime Date DateTime
Decimal Decimal decimal
Double Double double
Int32 Integer int
Int64 Long long
Object Object Object
SByte SByte sbyte
Int16 Short short
Single Single float
String String string
UInt32 UInteger uint
UInt64 ULong ulong
UInt16 UShort ushort
Để chuyển đổi kiểu dữ liệu ta sử dụng:
- Hàm Ctype theo có pháp sau: CType(expression,typename)
Trong đó expressionlà biểu thức cần chuyển đổi sang kiểu typename. - Sử dụng phương thứcParsecủa hầu hết các kiểu dữ liệu: Dim Age As Integer
Age = Integer.Parse(AgeTextBox.Text)
- Trong trường hợp chuyển đổi sang kiểu chuỗi ta sử dụng theo phương thức ToString() theo cú pháp sau:
DiminstanceAs AppDomain
DimreturnValueAs String
returnValue=instance.ToString
2.3.2. Các cấu trúc điều khiển a) Cấu trúc rẽ nhánh If…Then
Ta sử dụng cấu trúc If …Then theo một trong các cú pháp sau: - If condition Then [statement]
-If condition Then [statements] End If -If condition Then [statements]
[ElseIf elseifcondition Then
[elseIfStatements]] [Else [elseStatements]] End If
Trong đó:
+ condition: Là biểu thức điều kiện, trả về giá trị True hoặc False.
+ statement: Là một câu lệnh được thực hiện khi biểu thức điều kiện condition nhận giá trị True.
+ statements: Là một câu lệnh, hoặc nhiều câu lệnh được thực hiện khi biểu thức điều kiện condition nhận giá trị True.
+ elseifcondition: Tương tự như condition.
+ elseifstatements: Là một câu lệnh được thực hiện khi biểu thức điều kiện elseifcondition nhận giá trị True.
+ elsestatements: Là các câu lệnh được thực hiện khi tất cả các biểu thức điều kiện là false.
Chú ý:Ta có thể sử dụng khối các câu lệnh if lồng nhau.
Ví dụ.Sử dụng cấu trúc rẽ nhánh If…Then <scriptrunat="server">
Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.EventArgs) Dimx, y, aAs Integer x = 25 y = 5 Ifx < yThena = y - x Else a = x - y End If
Response.Write("Trị tuyệt đối của x-y: "& a) End Sub
</script>
b) Cấu trúc rẽ nhánh Select Case…
Select [ Case ]testexpression
[ Caseexpressionlist
[statements] ] [ Case Else
[elsestatements] ]
End Select Trong đó:
+ testexpression: Là biểu thức giá trị có thể liệt kê được, giá trị thuộc một trong các loại dữ liệu sau: Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, Short, Single, String.
+ expressionlist: Là danh sách các giá trị mà testexpression có thể nhận, có
thể là hằng hoặc biểu thức, chúng cách nhau dấu. Biểu thức trong Case có nhận một trong các dạng sau:
expression1 To expression2
[Is]comparisonoperator expression expression
Từ khóa To để chỉ một khoảng giá trị, Is dùng để so sánh. Ví dụ như: Case 1 To 4,5,6,7 To 9,11,13, Is > MaxNumber
+ statements: Một hay nhiều câu lệnh trong Case.
+ elsestatements: Một hay nhiều câu lệnh trong Case Else.
c) Cấu trúc lặp Do …Loop
Lặp lại một khối câu lệnh trong khi biểu thức điều kiện là True hoặc cho đến khi điều kiện đạt giá trị True. Ta sử dụng cú pháp sau:
Do { While | Until }condition
[statements] [ Exit Do ] [statements] Loop hoặc Do [ statements ] [ Exit Do ] [ statements ]
Loop { While | Until }condition
Trong đó:
+ While: được khai báo trừ khi Untilđược sử dụng. Lặp cho đến khi
conditionlà False.
+ Until: được khai báo trừ khiWhile được sử dụng. Lặp cho đến khi
conditionlà True.
+ condition: Là biểu thức Boolean.
+ statements: Là một câu lệnh hoặc khối câu lệnh lặp lại. + Exit Do: Là câu lệnh thoát khỏi vòng lặpDo loop.
d) Cấu trúc While … End While
Cấu trúc này lặp một khối câu lệnh trong khi điều kiện là True, theo cú pháp sau. While condition [ statements ] [ Exit While ] [ Statements ] End While Trong đó:
+ condition: Là biểu thức Boolean.
+ statements: Là một câu lệnh hoặc khối câu lệnh lặp lại. + Exit While: Dùng để thoát khỏi vòng lặp.
Ví dụ : Sử dụng cấu trúc While… End While <scriptrunat="server">
Protected SubPage_Load(ByValsenderAs Object,ByValeAsSystem.EventArgs) DimcounterAs Integer = 0
Whilecounter < 10 counter += 1
Response.Write(counter.ToString &"<BR>") End While
End Sub </script>
e) Cấu trúc With … End With
Cấu trúc With … End With được dùng thực hiện với một chuỗi câu lệnh cùng tham chiếu đến một đối tượng hoặc cấu trúc. Sử dụng theo cú pháp sau:
Withobject
[statements] End With
Ví dụ:Sử dụng cấu trúc With… End With <%@PageLanguage="VB"%>
<scriptrunat="server">
Protected SubPage_Load(ByValsenderAs Object,ByValeAsSystem.EventArgs) With Me.lblLabel
.Text ="Cấu trúc With ...End With" .ForeColor = Drawing.Color.Blue .BorderColor = Drawing.Color.Violet .BackColor = Drawing.Color.BlueViolet End With End Sub </script> <htmlxmlns="http://www.w3.org/1999/xhtml" > <headrunat="server">
<title>Untitled Page</title> </head>
<body>
<formid="form1"runat="server"> <div>
<asp:LabelID="lblLabel"runat="server"Text="My lable"
BorderColor="Violet"></asp:Label></div> </form>
</body> </html>
f) Cấu trúc lặp For Each …Next
Cấu trúc lặp For Each …Next dùng để lặp các câu lệnh đối với mỗi phần tử element trong một tập hợp group. Chúng được sử dụng theo cú pháp sau:
For Eachelement[ Asdatatype] Ingroup
[statements] [ Exit For ]
[statements]
Next [element] Trong đó:
+ element :là biến dùng để duyệt các phần tử trong một tập hợp.
+ datatype : Kiểu của element và phải được khai báo nếu chưa khai báo trước đó, kiểu của nó cùng kiểu với các phần tử của tập hợp.
+ group :Chỉ một tập hợp các phần tử mà các câu lệnh lặp trên đó. + statements :Một hoặc nhiều câu lệnh.
+ Exit For :Dùng để thoát khỏi vòng lặp For Each
g) Cấu trúc lặp For …Next
Đây là cấu trúc lặp chỉ định được số lần lặp, được sử dụng theo cú pháp sau đây:
Forcounter[ Asdatatype] =startToend
[ Stepstep]
[ Exit For ]
[statements] Next [counter]
Trong đó:
+ counter:Đây là biến đếm điều khiển quá trình lặp. + datatype:Kiểu của biến counter.
+ start:Giá trị khởi tạo cho biếncount
+end: Giá trị kết thúc của biếncounter.
+ step: Bước nhảy của biến, mặc định là 1
+ statements: Các câu lệnh thực hiện trong vòng lặp.
+ Exit For: Dùng để thoát khỏi vòng lặp
2.3.3. Các toán tử a) Các phép toán số học
Ngoài các phép toán số học cơ bản như:
+ (cộng) : variable=expression1+expression2
- (trừ) :variable=expression1-expression2
* (nhân) :variable=expression1*expression2 / (chia) :variable=expression1/expression2
^ (lũy thừa) : variable=expression1^expression2
\ (chia lấy module) :variable=expression1\expression2
Mod (chia lấy phần dư): variable=expression1 Mod expression2
Visual Basic.Net còn cung cấp một số phép toán đặc biệt sau:
+= (cộng bằng) : variable+=expression tương đương với biểu thức variable= variable+ expression
-= (trừ bằng) : variable -=expression tương đương với biểu thức variable= variable- expression
*= (nhân bằng) : variable *=expression tương đương với biểu thức variable= variable* expression
/ =(chia bằng) : variable *=expression tương đương với biểu thức variable= variable/expression
^=(lũy thừa bằng) : variable ^=expression tương đương với biểu thức variable= variable^ expression
\ =(chia lấy phần nguyên bằng) : variable \=expression tương đương với biểu thứcvariable= variable\ expression
b) Các phép toán so sánh
Các phép toán so sánh trả về giá trị kiểu Boolean.
- Các phép toán so sánh số học: =, <>, >, >=, <, <=
- So sánh xâu ký tự: Like (resul=stringLike pattern),và các phép toán so sánh =, <>, >, >=, <, <= dùng để so khớp từng xâu ký tự giữa hai biểu thức so sánh.
- So sánh các đối tượng: Is (result= object1Is object2), IsNot (result=object1
IsNotobject2)
- So sánh kiểu đối tượng: TypeOf <objectexpression> Is <typename>
c) Các phép toán logic
Là các phép toán giữa các biểu thức boolean: Not, And, Or, Xor
d) Phép toán ghép chuỗi