Các giải pháp lập trình CSharp- P7: Các giải pháp lập trình C# khảo sát chiều rộng của thư viện lớp .NET Framework và cung cấp giải pháp cụ thể cho các vấn đề thường gặp. Mỗi giải pháp được trình bày theo dạng “vấn đề/giải pháp” một cách ngắn gọn và kèm theo là các ví dụ mẫu. | 61 Chương 2 Thao tác dữ liệu Hầu hết các ứng dụng đều cần thao tác trên một loại dữ liệu nào đó. Microsoft .NET Framework cung cấp nhiều kỹ thuật để đơn giản hóa hay nâng cao hiệu quả các thao tác dữ liệu thông dụng. Chương này sẽ đề cập các kỹ thuật sau Thao tác chuỗi một cách hiệu quả mục . Mô tả các kiểu dữ liệu cơ sở bằng các kiểu mã hóa khác nhau mục và . Sử dụng biểu thức chính quy để xác nhận tính hợp lệ và thao tác chuỗi mục và . Làm việc với ngày và giờ mục và . Làm việc với mảng và tập hợp mục và . Tuần tự hóa trạng thái đối tượng và lưu nó vào file mục . 1. Thao tác chứỗi một cách hiệu quả 1 Bạn cần thao tác trên nội dung của một đối tượng String và tránh chi phí của việc tự động tạo các đối tượng String mới do tính không đổi của đối tượng String. Sử dụng lớp để thực hiện các thao tác sau đó chuyển kết quả thành String bằng phương thức . Các đối tượng String trong .NET là không đổi nghĩa là một khi đã được tạo thì chúng không thể bị thay đổi. Ví dụ nếu bạn tạo một String bằng cách nối một số ký tự hoặc chuỗi thì khi thêm một phần tử mới vào cuối String hiện có bộ thực thi sẽ tạo ra một String mới chứa kết quả chứ không phải String cũ bị thay đổi . Do đó sẽ nảy sinh chi phí đáng kể nếu ứng dụng của bạn thường xuyên thao tác trên String. Lớp StringBuilder khắc phục vấn đề này bằng cách cung cấp một bộ đệm ký tự và cho phép thao tác trên nội dung của nó mà bộ thực thi không phải tạo đối tượng mới để chứa kết quả sau mỗi lần thay đổi. Bạn có thể tạo một đối tượng StringBuiider rỗng hoặc được khởi tạo là nội dung của một String hiện có. Sau đó thao tác trên nội dung của StringBuiider này bằng các phương thức nạp chồng cho phép bạn chèn thêm dạng chuỗi của các kiểu dữ liệu khác nhau . Cuối cùng gọi để chuyển nội dung hiện tại của StringBuilder thành một String. Khi bạn thêm dữ liệu mới vào chuỗi có hai thuộc tính quan trọng ảnh hưởng đến .