Khóa học lập trình C# nâng cao

Khóa học lập trình C# nâng cao

Tổng quan về Collection trong C# Tổng quan về Collection trong C# Tổng quan về Collection trong C# Tổng quan về Collection trong C# Tổng quan về Collection trong C# 5/5 (24 reviews)

Tổng quan về Collection trong C#

Đã đăng 2017-11-22 14:48:10 bởi Kteam
0 bình luận 9713 lượt xem
Tổng quan về Collection trong C# 5 /5 stars (2 reviews)
 

Dẫn nhập

Đây là bài đầu tiên trong series Lập trình C# nâng cao. Trong bài này chúng ta sẽ cùng tìm hiểu Tổng quan về Collections trong .NET Framework.


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Collections là gì?
  • Một số loại Collection thông dụng.

Collections là gì?

Collections trong C# là gì?

Các lớp hỗ trợ lưu trữ, quản lý và thao tác với các đối tượng một cách có thứ tự.

Các lớp này nằm trong namespace System.Collections.


Một số đặc điểm của Collections:

Là một mảng có kích thước động:

  •  Không cần khai báo kích thước khi khởi tạo.
  •  Có thể tăng giảm số lượng phần tử trong mảng một cách linh hoạt.

Có thể lưu trữ một tập hợp đối tượng thuộc nhiều kiểu khác nhau.

Hỗ trợ rất nhiều phương thức để thao tác với tập hợp như: tìm kiếm, sắp xếp, đảo ngược, . . .

Mỗi collections được tổ chức thành một lớp nên cần khởi tạo đối tượng trước khi sử dụng.


Khi nào sử dụng Collection?

Chúng ta đã từng tìm hiểu một kiểu dữ liệu dùng để quản lý danh sách đối tượng đó là kiểu mảng. Vậy Collections có gì hay hơn mảng? Khi nào dùng mảng và khi nào dùng Collections?

Đầu tiên là những điểm mạnh của Collections

Bên trong Collections có nhiều lớp đa dạng hỗ trợ cho từng mục đích khác nhau. Nếu như mảng chỉ có thể truy xuất phần tử thông qua chỉ số thì các Collections có thế truy xuất thông qua chỉ số hoặc thông qua key.

Đối với danh sách cần thao tác tìm kiếm nhiều thì Collections cũng có lớp hỗ trợ giúp việc tìm kiếm nhanh hơn nhiều so với mảng nguyên thuỷ (sẽ được trình bày trong bài HASHTABLE TRONG C#).

Trong trường hợp danh sách cần thay đổi số lượng phần tử liên tục (thêm hoặc xoá phần tử) thì Collections cũng hỗ trợ sẵn (sẽ được trình bày trong bài ARRAYLIST TRONG C#).

Ngoài ra trong namespace System.Collections còn hỗ trợ sẵn 2 cấu trúc dữ liệu kinh điển đó là STACK QUEUE nên bạn chỉ cần lấy ra sử dụng mà không cần cài đặt lại.

Vậy khi nào sử dụng mảng khi nào sử dụng Collections?

Theo lời khuyên từ Microsoft thì:

  • Mảng thường được dùng để làm việc với một số lượng cố định các đối tượng strongly-typed (Mình sẽ trình rõ hơn về khái niệm này trong series khác. Bạn có thể hiểu đơn giản, strongly-typed là kiểu dữ liệu không bị thay đổi một cách đột ngột, tường minh).
  • Collections cung cấp một cách linh hoạt hơn để làm việc với danh sách. Ta có thể tăng giảm số lượng phần tử một cách tự động. Một số Collections còn hỗ trợ lưu trữ danh sách dưới dạng Key – Value (sẽ được trình bày trong bài HASHTABLE TRONG C#) giúp mình truy xuất, tìm kiếm một cách nhanh chóng.

Một số Collections thông dụng

Một số lớp Collections được sử dụng phổ biến:

Trong bài học này mình chỉ giới thiệu tổng quan về Collections và một số Collections thông dụng. Những bài học sau chúng ta sẽ đi vào chi tiết về cách sử dụng từng Collections cụ thể.


Kết luận

Nội dung bài này đã giới thiệu đến các bạn về Collections cũng như một số Collections thông dụng.

Bài sau chúng ta sẽ tìm hiểu về ARRAYLIST TRONG C#.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tài liệu 

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Tổng quan về Collection trong C# dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên like hoặc +1 Google để ủng hộ Kteam và tác giả nhé! 


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng. 

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education