20 thg 8, 2009

SQL Server 2000

ss

Linh Tinh 2

BÀN VỀ ARRAYLIST TRONG C#

Array (mảng) có lẽ là 1 gia vị quá đỗi quen thuộc đối với chúng
ta, từ 1 anh sinh viên năm nhất tập tễnh bước vào thế giới lập
trình với ngôn ngữ Pascal, cho đến những bạn đang theo đuổi
nghiệp coding như chúng ta. Ứng dụng của mảng trong các bài
tập ở các ngôn ngữ C/C++ là rất lớn. Nhưng…có 1 điều khó
khăn mà chúng ta gặp phải khi sử dụng chúng là sự hạn chế
về kích thước cố định của mảng
. Làm sao để giải quyết
vấn đề này nhỉ? Có lẽ các bạn cũng đã có cách giải quyết cho
riêng mình, riêng tôi, với việc C# cho ra đời “baby” ArrayList,
tôi có vỗ ngực nói với bạn bè “he he,mình đã giải quyết
được vấn đề kích thước của mảng rồi”.ArrayList ra đời đã
giải quyết được khuyết điểm của mảng trong các ngôn ngữ
đi trước nó. Nào, bây giờ chúng ta cùng nhau tìm hiểu “em bé”
ArrayList có mặt mũi vuông tròn như thế nào nhé. LET’S GO!

Trong C#, muốn thao tác với ArrayList, không có cách nào
khác hơn là bạn phải dùng đến class ArrayList được xây
dựng sẵn. Lớp ArrayList này cung cấp cho bạn những
phương thức và thuộc tính cơ bản sau:

PUBLIC PROPERTIES – CÔNG DỤNG

Capacity : trả về hoặc cho thiết đặt số phần tử mà
ArrayList có thể chứa.
Count : cho biết số phần tử hiện có trong ArrayList
IsFixedSize: trả về một trị bool cho biết liệu Array
List mang kích thước cố định hay không
IsReadOnly: trả về 1 trị bool cho biết liệu xem Array
List thuộc loại ReadOnly hay không
Item: trả về hoặc thiết đặt phần tử mảng về chỉ mục
được chỉ định. Trên C#, thuộc tính này là indexer
(bộ rảo chỉ mục) đối với class ArrayList

PUBLIC METHODS – CÔNG DỤNG

Add: thêm 1 đối tượng vào cuối ArrayList
AddRange: thêm các phần tử của một Icolletion vào
cuối ArrayList
BinarySearch: sử dụng giải thuật binary search
để xác định vị trí của một phần tử hoặc một phần trên
ArrayList đã được sắp xếp
Clear: xóa sạch ArrayList
Clone: tạo 1 bản sao của ArrayList
Contains: xác định 1 phần tử nào đó có nằm trong
ArrayList hay không
CopyTo: Sao chép ArrayList hoặc 1 phần tử nào đó
sang mảng 1 chiều
IndexOf: trả về zero-based index của sự xuất hiện
đầu tiên của 1 trị trên ArrayList hoặc trên 1 phần mảng
Insert: chèn thêm 1 phần tử vào ArrayList tại chỉ mục
được chỉ định
InsertRange: chèn các phần tử của 1 collection vào
ArrayList tại chỉ mục được chỉ định
LastIndexOf: trả về zero-based index của sự xuất
hiện cuối cùng của 1 trị trên ArrayList hoặc trên 1 phần mảng
Remove: gỡ bỏ sự xuất hiện đầu tiên của một specific
object ra khỏi ArrayList
RemoveAt: gỡ bỏ những phần tử tại chỉ mục được chỉ
định của ArrayList
RemoveRange: gỡ bỏ 1 khoảng phần tử từ ArrayList
Reverse: đảo ngược thứ tự của các phần tử trên ArrayList.
SetRange: sao chép các phần tử của một collection
chồng lên 1 phần phần tử trên ArrayList
Sort: sắp xếp các phần tử trên ArrayList hoặc trên
1 phần mảng
ToArray: sao chép các phần tử của ArrayList về 1 bản dãy
TrimToSize: thiết đặt khả năng về số phần tử hiện
hành trên ArrayList

Lưu ý: khi bạn tạo 1 ArrayList, bạn không thể xác định
sẽ có bao nhiêu đối tượng trong mảng. Bạn thêm phần
tử vào ArrayList bằng cách dùng hàm Add() và ô liệt
kê sẽ tự mình lo việc “giữ sổ sách” nội bộ đúng tình trạng.
Bạn cũng nên lưu ý 1 điều là sức chứa ban đầu mặc định
của ArrayList là 16, do đó khi bạn thêm phần tử thứ 17
thì kích thước mặc định này sẽ tăng gấp đôi lên thành 32.

Sau đây là 1 thí dụ đơn giản về ArrayList được lấy từ MSDN:
CODE -:- Thư Viện Chia Sẻ IT Việt Nam
using System;
using System.Collections;
public class SamplesArrayList
{

public static void Main()
{

// tạo 1 thể hiện của ArrayList
ArrayList myAL = new ArrayList();
myAL.Add("Hello");
myAL.Add("World");
myAL.Add("!");

// Hiển thị thuộc tính và giá trị trong ArrayList
Console.WriteLine( "myAL" );
Console.WriteLine( " Count: {0}", myAL.Count );
Console.WriteLine( " Capacity: {0}", myAL.Capacity );
Console.Write( " Values:" );
PrintValues( myAL );
}

public static void PrintValues( IEnumerable myList )
{
foreach ( Object obj in myList )
Console.Write( " {0}", obj );
Console.WriteLine();
}

}


/*
This code produces the following output.

myAL
Count: 3
Capacity: 16
Values: Hello World !

*/

Winform C# Part 7

ss

Winform C# Part 6

ss

Winform C# Part 4

ss