1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. Kỹ thuật lập trình >

Các đặc tính của ASP.NET

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.59 MB, 226 trang )


Về mặt kĩ thuật, một Web Service trong .NET là một trang ASP.NET theo định dạng XML thay vì theo định dạng HTML để yêu

cầu các client. Các trang này có một code-behind DLL chứa một lớp xuất phát từ lớp WebService. VS.NET IDE cung cấp một cơ

chế để tiện cho việc phát triển Web Service.

Có hai lí do chính để một tổ chức chọn Web Services. Lí do thứ nhất là bởi vì chúng đáng tin cậy trên HTTP, Web Services có

thể dùng các mạng có sẵn (the Web) như một môi trường cho việc truyền thông. Một lí do khác là bởi vì các Web Service dùng

XML, một định dạng dữ liệu tự mô tả, mang tính phổ biến, và độc lập nền.



Tạo các Windows Form

Mặc dù C# và .NET được thiết kế để phát triển web, nhưng chúng vẫn hỗ trợ mạnh mẽ cho cái gọi là ứng dụng "fat client", các

ứng dụng có thể được cài đặt trên một máy người dùng cuối. Hỗ trợ này gọi là Windows Forms.

Một Windows Form là câu trả lời của .NET cho VB 6 Form. Dùng để thiết kế một giao diên window sinh động, bạn chỉ đơn giản

kéo các control từ vào trên Windows Form. Để xác định cách xử của window, bạn viết các thủ tục quản lí sự kiện cho form

controls. Một đề án Windows Form được dịch thành một EXE phải được cài đặt trong một môi trường ở máy tính người dùng

cuối. Giống như các kiểu đề án .NET khác, đề án Windows Form được hỗ trợ cho cả VB.NET và C#. Chúng ta sẽ nói kĩ về

Windows Forms trong chương 7.



Windows Controls

Mặc dù Web Forms và Windows Forms được phát triển theo cùng một cách, bạn dùng các loại khác nhau của controls để định vị

chúng. Web Forms dùng Web Controls, và Windows Forms dùng Windows Controls.

Một Windows Control là một ActiveX control. Đằng sau sự thực thi của một Window control, là sự biên dich sang một DLL để

có thể cài đặt trên máy khách. Thật vậy, .NET SDK cung cấp một tiện ích dùng để tạo một vỏ bọc cho các ActiveX control, vì thể

chúng có thể được đặt trong Windows Forms. Giống trường hợp này các Web Control, Windows Control được tạo thành từ một

lớp khác System.Windows.Forms.Control.



Windows Services

Một Windows Service là một chương trình được thiết kế để chạy trên nền Windows NT/2000/XP (không hỗ trợ trên Windows

9x). Các dịch vụ này rất hữu ích khi bạn muốn một chương trình có thể chạy liên tục và sẵn sàng đáp ứng các sự kiện mà không

cần người dùng phải khởi động. Ví dụ như một World Wide Web Service ở trên các web server luôn lắng nghe các yêu cầu từ

trình khách.

Thật dễ dàng để viết các dịch vụ trong C#. Với thư viện lớp cơ sở .NET Framework sẵn có trong không gian tên

System.ServiceProcess namespace chuyên dùng để tổ chức các tác vụ boilerplate kết hợp với các dịch vụ, ngoài ra, Visual Studio

.NET cho phép bạn tạo một đề án C# Windows Service, với các mã nguồn cơ bản ban đầu. Chúng ta sẽ khám cách viết một C#

Windows Services trong chương 22.



Tóm tắt

Chúng ta đã khảo sát nhiều vấn đề trong chương này, chúng ta sẽ tóm lại các vấn đề quan trọng trong .NET Framework và mối

quan hệ của nó với C#. Chúng tôi đã trình bày cách mà tất cả các ngôn ngữ hướng .NET được biên dịch thành Intermediate

Language trước khi được biên dịch và thực thi bởi Common Language Runtime. Chúng tôi cũng đã trình bày vai trò của các đặc

tính sau trong .NET trong quá trình biên dịch và thực thi:









Các Assembly và thư viện lớp cơ sở của .NET

Các thành phần COM







Quá trình biên dịch JIT







Các Application domain







Garbage Collection



Lưu đồi sau cho ta một cái nhìn về vài trò của các đặc tính này trong quá trình biên dịch và thực thi:



Chúng tôi cũng đã trình bày những đặc trưng của IL, cụ thể là định nghĩa kiểu mạnh và hướng đối tượng. Chúng tôi đã chú thích

các đặc tính này ảnh hưởng đến các các ngôn ngữ hướng .NET khác, bao gồm C#. Chúng tôi cũng đã chú thich cách mà định

nghĩ kiểu mạnh có thể hỗ trợ tương hoạt ngôn ngữ chéo, cũng như các dịch vụ CLR chẳng hạn như trình thu gom rác và bảo mật.

Ở phần cuối của chương tôi đã nói về cách tạo các ứng dụng C# dựa trên các công nghệ của .NET trong đó có ASP.NET.

Giờ đây chúng ta đã có cái nền, chương tới sẽ chỉ ra cách viết mã trong C#.



Chương 2: Cơ bản C#

Tổng quan :

Trong chương này chúng tôi sẽ cung cấp cho bạn những kiến thức cơ bản nhất của ngôn ngữ lập trình C#. Những chủ đề chính

chúng ta sẽ được học sau đây :

• Khai báo biến

• Khởi tạo và phạm vi hoạt động của biến

• C#'s predefined data types

• Cách sử dụng các vòng lặp và câu lệnh.

• Gọi và hiển thị lớp và phương thức

• Cách sử dụng mảng

• Toán tử

• An toàn kiểu và cách để chuyển các kiểu dữ liệu

• Enumerations

• Namespaces

• Phương thức của hàm Main( )

• Cơ bản trình biên dịch dòng lệnh trong C#

• Using System.Console để thực hiện I/O

• Sử dụng chú thích trong C# và Visual Studio . NET

• Các định danh và từ khoá trong C#

Cuối chương này bạn sẽ có đủ khả năng viết một chương trình đơn giản bằng C# mà bạn không cần phải biết sự kế thừa hay

hướng đối tượng mà chúng tôi sẽ trình bày những phần này ở vài chương tới của quyển sách.



This document is created from a CHM file automatically by an unregistered copy of CHM-2Word.

The content of this chapter is skipped, please register CHM-2-Word to get full features.

For registration information, please refer to: http://www.macrobject.com



Chương trình đầu tiên !

Chúng ta sẽ bắt đầu theo cách truyền thống là tạo một chương trình viết bằng C# rồi cho biên dịch và chạy thử nghiệm. Việc

phân tích chương trình con này sẽ dẫn dắt bạn vào những chức năng chủ chốt của ngôn ngữ C#.

Bạn có thể biên dịch chương trình này bằng cách khỏ vào chương trình soạn thảo văn bản đơn giản, Notepad chẳng hạn, rồi

cho cất trữ dưới dạng tập tin với tên mở rộng là .cs (tắt chữ C sharp), rồi cho chạy trình biên dịch C# command_line (scs.exe) ví

dụ tập tin First.cs :

using System;

namespace Wrox.ProCSharp.Basics

{

class MyFirstCSharpClass

{

static void Main()

{

Console.WriteLine("This isn't at all like Java!");

Console.ReadLine();

return;

}

}

}

Một chương trình khả thi mang tên First.exe sẽ được tạo ra, và bạn có thể cho chạy chương trình này từ command line giống

như với DOS hoặc từ Windows Explorer như bất cứ chương trình khả thi nào.Chạy chương trình như sau :



csc First.cs

Microsoft (R) Visual C# .NET Compiler version 7.00.9466

for Microsoft (R) .NET Framework version 1.0.3705

Copyright (C) Microsoft Corporation 2001. All rights reserved.

First

This isn't at all like Java!



Download First



Nhưng trước tiên bạn nên biết trên C# cũng như trên các ngôn ngữ C khác chương trình được cấu thành bởi câu lệnh

(statement ) và câu lệnh C# được kết thúc bởi một dấu chấm phẩy (;).Nhiều câu lệnh có thể gộp thành một khối được bao ở hai

đầu bởi cặp dấu ngoặc nghéo {}, câu lệnh nếu dài có thể tiếp tục xuống hàng dưới không cần đến một ký tự báo cho biết câu lệnh

tiếp tục hàng dưới.



Biến và Hằng

Một biến dùng để lưu trữ giá trị mang một kiểu dữ liệu nào đó.

Cú pháp C# sau đây để khai báo một biến :

[ modifier ] datatype identifer ;

Với modifier là một trong những từ khoá : public, private, protected, . . . còn datatype là kiểu dữ liệu (int , long , float. . . ) và

identifier là tên biến.

Thí dụ dưới đây một biến mang tên i kiểu số nguyên int và có thể được truy cập bởi bất cứ hàm nào.



thí dụ :

public int i ;

Ta có thể gán cho biến một giá trị bằng toán tử "=".

i = 10 ;

Ta cũng có thể khai báo biến và khởi tạo cho biến một giá trị như sau :

int i = 10 ;

Nếu ta khai báo nhiều biến có cùng kiểu dữ liệu sẽ có dạng như sau:

int x = 10; y = 20;

int x = 10;

bool y = true ; // khai báo trên đúng

int x = 10 , bool = true // khai báo trên có lỗi



Phạm vi hoạt động của biến (Variable Scope).

Phạm vi hoạt động của biến là vùng đoạn mã mà từ đấy biến có thể được truy xuất.

Trong một phạm vi hoạt động (scope), không thể có hai biến cùng mang một tên trùng nhau.

Thí dụ ta không thể làm như sau :



int x = 20;

// một số câu lệnh ở đây

int x = 30;

Xét ví dụ sau :

using System;

namespace Wrox.ProCSharp.Basics

{

public class ScopeTest

{

public static int Main()

{

for (int i = 0; i < 10; i++)

{

Console.WriteLine(i);

} // biến i ra khỏi phạm vi

// Chúng ta có thể khai báo thêm biến i ở đây

for (int i = 9; i >= 0; i--)

{

Console.WriteLine(i);

} // biến i ra khỏi phạm vi ở đây

return 0;

}

}

}

Download ScopeTest

Đoạn mã trên đơn giản in ra các số từ 0 đến 9, rồi lộn ngược lại từ 9 đến 0, sử dụng vòng lặp for.Chúng ta sẽ đề cập loại

vòng lặp này. Điều quan trọng là ở đây chúng ta khai báo biến i hai lần trong cùng một hàm ScopeTest.Chúng ta có thể làm được

điều này vì i được khai báo trong vòng lặp nghĩa là biến i cục bộ đối với vòng lặp.Một khi vòng lặp hoàn thành nhiệm vụ thì biến

thoát khỏi phạm vi, và không thể truy xuất được nữa.

Chúng ta xem tiếp một ví dụ khác :



public static int Main()

{

int j = 20;

for (int i = 0; i < 10; i++)

{

int j = 30; // không thể thực thi - j vẫn còn trong phạm vi

Console.WriteLine(j + i);

}

return 0;

}

Đoạn mã trên sẽ được biên dịch mặc dù có hai biến đặc tên j trong phạm vi không có phương thức hàm main( ) biến j được

định nghĩa ở lớp mức và không đi ra ngoài đến khi lớp bị huỷ ( trong trường hợp này chương trình kết thúc khi hàm main( ) kết

thúc), biến j được định nghĩa trong hàm main( ) phương thức ẩn trong lớp mức với biến cùng tên j nên khi chạy chương trình sẽ

hiện giá trị 30.



Ta xem đoạn thí dụ sau :



using System;

namespace Wrox.ProCSharp.Basics

{

class ScopeTest2

{

static int j = 20;

public static void Main()

{

int j = 30;

Console.WriteLine(j);

return;

}

}



}



Chương trình vẫn hoạt động và cho kết quả là 30.

Download ScopeTest2



HẰNG:

Một hằng (constant) là một biến nhưng trị không thể thay đổi được suốt thời gian thi hành chương trình. Đôi lúc ta cũng cần

có những giá trị bao giờ cũng bất biến.

Thí dụ

const int a = 100; // giá trị này không thể bị thay đổi

Trong định nghĩa lớp mà ta sẽ xem sau, người ta thường định nghĩa những mục tin (field) được gọi là read-only variable,

nghĩa là những biến chỉ được đọc mà thôi

Hằng có những đặc điểm sau :

• Hằng bắt buộc phải được gán giá trị lúc khai báo.Một khi đã được khởi gán thì không thể viết đè chồng lên.

• Trị của hằng phải có thể được tính toán vào lúc biên dịch, Do đó không thể gán một hằng từ một trị của một biến. Nếu

muốn làm thế thì phải sử dụng đến một read-only field.

• Hằng bao giờ cũng static, tuy nhiên ta không thể đưa từ khoá static vào khi khai báo hằng.

Có ba thuận lợi khi sử dụng hằng trong chương trình của bạn :

• Hằng làm cho chương trình đọc dễ dàng hơn, bằng cách thay thế những con số vô cảm bởi những tên mang đầy ý nghĩa

hơn.

• Hằng làm cho dễ sữa chương trình hơn.

• Hằng làm cho việc tránh lỗi dễ dàng hơn, nếu bạn gán một trị khác cho một hằng đâu đó trong chương trình sau khi bạn

đã gán giá trị cho hằng, thì trình biên dịch sẽ thông báo sai lầm.



Câu lệnh điều kiện

Câu lệnh điều kiện

Câu lệnh điều kiện if :

Cú pháp như sau:



if (condition)

statement(s)

[else

statement(s)]



Xét ví dụ sau:

Nếu có nhiều hơn một câu lệnh để thi hành trong câu điều kiện chúng ta sẽ đưa tất cả các câu lệnh này vào trong dấu ngoặc móc

({ ... }) giống như ví dụ dưới đây

bool isZero;

if (i == 0)

{

isZero = true;

Console.WriteLine("i is Zero");

}



else

{

isZero = false;

Console.WriteLine("i is Non-zero");

}



Đoạn code trên kiểm tra isZero có bằng 0 hay không.

Xét ví dụ:

Trong ví dụ dưới đây chúng ta dùng câu điều kiện íf . . . else để kiểm tra nhiều điều kiện .



using System;

namespace Wrox.ProCSharp.Basics

{

class MainEntryPoint

{

static void Main(string[] args)

{

Console.WriteLine("Type in a string");

string input;

input = Console.ReadLine();

if (input == "")

{

Console.WriteLine("You typed in an empty string");

}

else if (input.Length < 5)

{

Console.WriteLine("The string had less than 5 characters");

}

else if (input.Length < 10)

{

Console.WriteLine("The string had at least 5 but less than 10

characters");

}

Console.WriteLine("The string was " + input);

}

}

}

Download Conditional

Đoạn code trên không giới hạn bao nhiêu else if's trong câu điều kiện



if (i == 0)

Console.WriteLine("i is Zero");

// câu lệnh chỉ thi hành khi i == 0

Console.WriteLine("i can be anything"); // câu lệnh thi hành bất kì giá trị

của i



Câu lệnh switch

Các câu lệnh if nằm lồng rất khó đọc, khó gỡ rối. Khi bạn có một loạt lựa chọn phức tạp thì nên sử dụng câu lệnh switch.



Cú pháp như sau:

switch (biểu thức)

{ casce biểu thức ràng buộc:

câu lệnh

câu lệnh nhảy

[default: câu lệnh mặc định]

}

Thí dụ sau: Thí dụ sẽ kiểm tra integerA thoả đúng trong các trường hợp 1, 2, 3 không nếu không đúng sẽ thực thi trường hợp

default



switch (integerA)

{

case 1:

Console.WriteLine("integerA =1");

break;



case 2:

Console.WriteLine("integerA =2");

break;

case 3:

Console.WriteLine("integerA =3");

break;

default:

Console.WriteLine("integerA is not 1,2, or 3");

break;



}

Xem các Thí dụ sau để hiểu rõ thêm về switch:

// assume country and language are of type string

switch(country)

{

case "America":

CallAmericanOnlyMethod();

goto case "Britain";

case "France":

language = "French";

break;

case "Britain":

language = "English";

break;

}

switch(country)

{

case "au":

case "uk":

case "us":

language = "English";

break;

case "at":

case "de":

language = "German";

break;

}



Vòng lặp (Loops):

C# cung cấp cho chúng ta 4 vòng lặp khác nhau (for, while, do...while, và foreach)

cho phép chúng ta thực hiện một đoạn mã lặp lại đến khi đúng điều kiện lặp.

Vòng lặp for:

cú pháp:

for (initializer; condition; iterator)

statement(s)

Thí dụ:

Đoạn mã sau sẽ xúât ra tất cả số nguyên từ 0 đến 99:



for (int i = 0; i < 100; i = i+1)

{



Console.WriteLine(i);

}

Xét ví dụ sau:

using System;

namespace Wrox.ProCSharp.Basics

{

class MainEntryPoint

{

static void Main(string[] args)

{

// This loop iterates through rows...

for (int i = 0; i < 100; i+=10)

{

// This loop iterates through columns...

for (int j = i; j < i + 10; j++)



{



Console.Write(" " + j);

}

Console.WriteLine();

}

}



}



}



Kết quả được in ra khi chạy chương trình như sau:

Download Loop for



csc NumberTable.cs

Microsoft (R) Visual C# .NET Compiler version 7.00.9466

for Microsoft (R) .NET Framework version 1.0.3705

Copyright (C) Microsoft Corporation 2001. All rights reserved.

NumberTable

0 1 2 3 4 5

10 11 12 13

20 21 22 23

30 31 32 33

40 41 42 43

50 51 52 53

60 61 62 63

70 71 72 73

80 81 82 83

90 91 92 93



6 7 8

14 15

24 25

34 35

44 45

54 55

64 65

74 75

84 85

94 95



9

16

26

36

46

56

66

76

86

96



17

27

37

47

57

67

77

87

97



18

28

38

48

58

68

78

88

98



19

29

39

49

59

69

79

89

99



Vòng lặp while (The while Loop)

Cú pháp như sau :



while(condition)

statement(s);

Thí dụ :

bool condition = false;

while (!condition)

{

// Vòng lặp thực hiện đến khi điều kiện đúng

DoSomeWork();

condition = CheckCondition(); // cho rằng CheckCondition() trả về kiểu bool

}



Vòng lặp do . . . while (The do…while Loop)

bool condition;

do

{

// Vòng lặp này sẽ thực hiện ít nhất một lần thậm chí nếu câu điều kiện sai

MustBeCalledAtLeastOnce();

condition = CheckCondition();

} while (condition);



Vòng lặp foreach (The foreach Loop)

Cho phép bạn rảo qua tất cả các phần tử bản dãy hoặc các tập hợp khác, và tuần tự xem xét từng phần tử một.Cú pháp như sau:

foreach (type identifier in expression) statement

thí dụ:



foreach (int temp in arrayOfInts)

{

Console.WriteLine(temp);

}



foreach (int temp in arrayOfInts)

{

temp++;

Console.WriteLine(temp);

}



Câu lệnh goto

goto Label1;

Console.WriteLine("This won't be executed");

Label1:

Console.WriteLine("Continuing execution from here");



Câu lệnh break

Ta dùng câu lệnh break khi muốn ngưng ngang xương việc thi hành và thoát khỏi vòng lặp.



Câu lệnh continue

Câu lệnh continue được dùng trong vòng lặp khi bạn muốn khởi động lại một vòng lặp nhưng lại không muốn thi hành phần lệnh

còn lại trong vòng lặp, ở một điểm nào đó trong thân vòng lặp.



Câu lệnh return

Câu lệnh return dùng thoát khỏi một hàm hành sự của một lớp, trả quyền điều khiển về phía triệu gọi hàm (caller). Nếu hàm có

một kiểu dữ liệu trả về thì return phải trả về một kiểu dữ liệu này; bằng không thì câu lệnh được dùng không có biểu thức.



Cấu trúc chương trình

Trước đây chúng ta đã được giới thiệu vài các phần của main 'building blocks' tạo bởi ngôn ngữ C# bao gồm khai báo biến, các

kiểu dữ liệu và các câu lệnh của chương trình chúng ta cũng đã thấy đoạn mã ngắn về phương thức hàm main(). Cái chúng ta

chưa thấy là làm thế nào để đặt tất cả chúng vào một khung của một chương trình hoàn chỉnh. Để trả lời chúng ta làm việc với

các class.



Lớp

Như bạn đã biết , các class tạo nên một chương trình lớn trong C# , để biết thêm chúng ta sẽ được trình bày ở chương 3 toàn bộ

về lập trình hướng đối tượng trong C#. Tuy nhiên nó thực sự có khả năng viết một chương trình mà không sử dụng đến lớp, ở

đây chúng ta chỉ cần một ít về lớp. Chúng ta sẽ được trang bị cú pháp cơ bản để gọi một lớp, nhưng chúng ta sẽ dành hướng đối

tượng cho chương sau.

Lớp là một khuôn mẫu thiết yếu mà chúng ta cần tạo ra đối tượng. Mỗi đối tượng chứa dữ liệu và các phương thức chế tác truy

cập dữ liệu. Lớp định nghĩa cái mà dữ liệu và hàm của mỗi đối tượng riêng biệt (được gọi là thể hiện) của lớp có thể chứa. Ví dụ

chúng ta có một lớp miêu tả một khách hàng nó được định nghĩa các trường như CustomerID, FirstName, LastName, và Address,

cái mà chúng ta giữ thông tin cụ thể khách hàng. Nó cũng có thể được miêu tả bởi các hành động trong các trường dữ liệu.



Các lớp thành viên

Dữ liệu và các hàm không có lớp đượp biết như là lớp thành viên



Thành phần dữ liệu

Thành phần dữ liệu (Data members) là những thành phần chứa dữ liệu cho lớp – trường (fields), Hằng số (constants), và sự kiện

(events).

Fields là các biến kết hợp với lớp. ví dụ, chúng ta định nghĩa một lớp PhoneCustomer với trường CustomerID, FirstName and

LastName như sau:



class PhoneCustomer

{

public int CustomerID;

public string FirstName;

public string LastName;

}

Once we have instantiated a PhoneCustomer object, we can then access these fields using the Object.FieldName syntax, for

example:



PhoneCustomer Customer1 = new PhoneCustomer();

Customer1.FirstName = "Burton";

Các hằng số có thể kết hợp với lớp như là biến. chúng ta khai báo một hằng số sử dụng từ khoá const. nếu nó khai báo public thì

có thể truy cập ở ngoài lớp.



class PhoneCustomer

{

public const int DayOfSendingBill = 1;

public int CustomerID;

public string FirstName;

public string LastName;

}



Hàm thành phần (Function Members):

Bao gồm các thuộc tính và các phương thức . Chúng ta sử dụng các từ khoá sau để bổ nghĩa cho một phương thức :



Modifier



Description



new



Phương thức ẩn một phương thức kế thừa với cùng kí hiệu

Phương thức có thể được truy cập bất kỳ



public

protected



Phương thức có thể bị truy xuất không từ lớp nó thuộc hoặc từ lớp dẫn xuất;



internal



Phương thức có thể được truy cập không cùng assembly



private



Phương thức có thể được truy cập từ bên trong lớp nó phụ thuộc



static



Phương thức có thể không được tính trên trên một lớp thể hiển cụ thể



virtual



Phương thức bị ghi đè bởi một lớp dẫn xúât



abstract



Phương thức trừu tượng



override



Phương thức ghi đè một phương thức ảo kế thừa hoặc trừu tượng.



sealed



Phương thức ghi đè một phương thức ảo kế thừa, nhưng không thể bị ghi đè từ lớp kế thừa này



extern



Phương thức được thực thi theo bên ngoài từ một ngôn ngữ khác



Cấu trúc (Structs )

Chúng ta sẽ đề cập ngắn gọn là, ngoài các lớp nó cũng có thể để khai báo cho cấu trúc, cú pháp giống như cơ bản bạn biết

ngoại trừ chúng ta dùng từ khoá struct thay cho class.

Ví dụ chúng ta khai báo một cấu trúc PhoneCustomer được viết như sau :



struct PhoneCustomer

{

public const int DayOfSendingBill = 1;

public int CustomerID;

public string FirstName;

public string LastName;

}



Mảng (Arrays)

Mảng

Array là một cấu trúc dữ liệu cấu tạo bởi một số biến được gọi là những phần tử mảng. Tất cả các phần tử này đều thuộc một kiểu

dữ liệu. Bạn có thể truy xuất phần tử thông qua chỉ số (index). Chỉ số bắt đầu bằng zero.

Có nhiều loại mảng (array): mảng một chiều, mảng nhiều chiều.

Cú pháp :

type[ ] array-name;

thí dụ:

int[] myIntegers; // mảng kiểu số nguyên

string[] myString ; // mảng kiểu chuổi chữ

Bạn khai báo mảng có chiều dài xác định với từ khoá new như sau:



// Create a new array of 32 ints

int[] myIntegers = new int[32];

integers[0] = 35;// phần tử đầu tiên có giá trị 35

integers[31] = 432;// phần tử 32 có giá trị 432

Bạn cũng có thể khai báo như sau:

int[] integers;

integers = new int[32];

string[] myArray = {"first element", "second element", "third element"};



Làm việc với mảng (Working with Arrays)

Ta có thể tìm được chiều dài của mảng sau nhờ vào thuộc tính Length thí dụ sau :



int arrayLength = integers.Length

Nếu các thành phần của mảng là kiểu định nghĩa trước (predefined types), ta có thể sắp xếp tăng dần vào phương thức gọi là

static Array.Sort() method:



Array.Sort(myArray);

Cuối cùng chúng ta có thể đảo ngược mảng đã có nhờ vào the static Reverse() method:



Array.Reverse(myArray);

string[] artists = {"Leonardo", "Monet", "Van Gogh", "Klee"};

Array.Sort(artists);

Array.Reverse(artists);

foreach (string name in artists)

{

Console.WriteLine(name);

}



Mảng nhiều chiều (Multidimensional Arrays in C#)

Cú pháp :

type[,] array-name;

Thí dụ muốn khai báo một mảng hai chiều gồm hai hàng ba cột với phần tử kiểu nguyên :

int[,] myRectArray = new int[2,3];

Bạn có thể khởi gán mảng xem các ví dụ sau về mảng nhiều chiều:

int[,] myRectArray = new int[,]{ {1,2},{3,4},{5,6},{7,8}}; mảng 4 hàng 2 cột

string[,] beatleName = { {"Lennon","John"},

{"McCartney","Paul"},



Xem Thêm
Tải bản đầy đủ (.doc) (226 trang)

×