CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 62

62
Chương 2: Thao tác dữ liệu

Nếu bạn thiết lập giá trị

Capacity

nhỏ hơn giá trị

Length

, thuộc tính

Capacity

sẽ ném

ngoại lệ

System.ArgumentOutOfRangeException

.

Nếu bạn thiết lập giá trị

Length

nhỏ hơn kích thước của chuỗi hiện có trong bộ đệm,

chuỗi sẽ bị cắt bớt phần lớn hơn.

Nếu bạn thiết lập giá trị

Length

lớn hơn kích thước của chuỗi, bộ đệm sẽ được "lấp"

thêm các khoảng trắng cho bằng với

Length

. Việc thiết lập giá trị

Length

lớn hơn giá trị

Capacity

sẽ tự động điều chỉnh

Capacity

cho bằng với

Length

.

Phương thức

ReverseString

dưới đây minh họa cách sử dụng lớp

StringBuilder

để đảo một

chuỗi. Nếu không sử dụng lớp

StringBuilder

để thực hiện thao tác này thì sẽ tốn chi phí đáng

kể, đặc biệt khi chuỗi nguồn dài. Việc khởi tạo

StringBuilder

với kích thước bằng chuỗi

nguồn bảo đảm không cần phải cấp phát lại bộ đệm trong quá trình đảo chuỗi.

public static string ReverseString(string str) {

// Kiểm tra các trường hợp không cần đảo chuỗi.

if (str == null || str.Length == 1) {

return str;

}

// Tạo một StringBuilder với sức chứa cần thiết.

System.Text.StringBuilder revStr =

new System.Text.StringBuilder(str.Length);

// Duyệt ngược chuỗi nguồn từng ký tự một

// và thêm từng ký tự đọc được vào StringBuilder.

for (int count = str.Length-1; count > -1; count--) {

revStr.Append(str[count]);

}

// Trả về chuỗi đã được đảo.

return revStr.ToString();

}

2.

2.

Mã hóa chu i b ng các ki u mã hóa ký t

ỗ ằ

Mã hóa chu i b ng các ki u mã hóa ký t

ỗ ằ

Bạn cần trao đổi dữ liệu dạng ký tự với các hệ thống sử dụng kiểu mã hóa khác
với UTF-16
(kiểu mã hóa này được sử dụng bởi CRL).

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.