Danh sách bài học
List trong C#
Nội dung bài viết Học nhanh
Dẫn nhập
Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu về GENERIC TRONG C#. Hôm nay chúng ta sẽ cùng tìm hiểu về List trong C#.
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:
- BIẾN , KIỂU DỮ LIỆU, TOÁN TỬ trong C#
- CÂU ĐIỀU KIỆN trong C#
- Cấu trúc cơ bản của VÒNG LẶP, HÀM trong C#
- MẢNG trong C#
- LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG C#
Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:
- List là gì?
- Một số thuộc tính và phương thức hỗ trợ sẵn trong List.
List là gì?
List là 1 Generic Collections đưa ra như một sự thay thế ArrayList vì thế về khái niệm cũng như sử dụng nó hoàn toàn giống với ArrayList. (bạn có thể tham khảo chi tiết trong bài ARRAYLIST TRONG C#)
Ở đây mình chỉ trình bày lại một số ý để những bạn nào không theo dõi những bài trước vẫn có thể hiểu được.
List trong C# là một Generic Collections giúp lưu trữ và quản lý một danh sách các đối tượng theo kiểu mảng (truy cập các phần tử bên trong thông qua chỉ số index).
Để sử dụng các Collections trong .NET ta cần thêm thư viện System.Collections.Generic bằng câu lệnh:
using System.Collections.Generic;
Vì List là một lớp nên trước khi sử dụng ta cần khởi tạo vùng nhớ bằng toán tử new:
Bạn cũng có chỉ định sức chứa (Capacity) ngay lúc khởi tạo bằng cách thông qua constructor được hỗ trợ sẵn:
Ngoài ra bạn cũng có thể khởi tạo 1 List chứa các phần tử được sao chép từ một Generic Collections khác (lưu ý là có cùng kiểu dữ liệu truyền vào):
Một số thuộc tính và phương thức hỗ trợ sẵn trong List
Một số thuộc tính thông dụng trong List:
TÊN THUỘC TÍNH |
Ý NGHĨA |
Count |
Trả về 1 số nguyên là số phần tử hiện có trong List. |
Capacity |
Trả về 1 số nguyên cho biết số phần tử mà List có thể chứa (sức chứa). |
Một số phương thức thông dụng trong List:
TÊN PHƯƠNG THỨC |
Ý NGHĨA |
Add(object Value) |
Thêm đối tượng Value vào cuối List. |
AddRange(ICollection ListObject) |
Thêm danh sách phần tử ListObject vào cuối List. |
BinarySearch(object Value) |
Tìm kiếm đối tượng Value trong List theo thuật toán tìm kiếm nhị phân.
|
Clear() |
Xoá tất cả các phần tử trong List. |
Contains(T Value) |
Kiểm tra đối tượng Value có tồn tại trong List hay không. |
CopyTo(T[] array, int Index) |
Thực hiện sao chép tất cả phần tử trong List sang mảng một chiều array từ vị trí Index của array.
|
IndexOf(T Value) |
Trả về vị trí đầu tiên xuất hiện đối tượng Value trong List. |
Insert(int Index, T Value) |
Chèn đối tượng Value vào vị trí Index trong List. |
InsertRange(int Index, IEnumerable<T> ListObject) |
Chèn danh sách phần tử ListObject vào vị trí Index trong List. |
LastIndexOf(T Value) |
Trả về vị trí xuất hiện cuối cùng của đối tượng Value trong List. |
Remove(T Value) |
Xoá đối tượng Value xuất hiện đầu tiên trong List. |
Reverse() |
Đảo ngược tất cả phần tử trong List. |
Sort() |
Sắp xếp các phần tử trong List theo thứ tự tăng dần. |
ToArray() |
Trả về 1 mảng kiểu T chứa các phần tử được sao chép từ List. |
Sử dụng List hoàn toàn tượng tự như sử dụng ArrayList. Một ví dụ đơn giản về sử dụng List:
Kết quả: khi chạy đoạn chương trình trên là:
Kết luận
Nội dung bài này giúp các bạn nắm được:
- List là gì?
- Một số thuộc tính và phương thức hỗ trợ sẵn trong List.
Bài học sau chúng ta sẽ cùng tìm hiểu về DICTIONARY 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 xuống
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 List 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 và share để ủ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ê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.
Tác giả/Dịch giả
Khóa học
Khóa học lập trình C# nâng cao
Bạn đã học hết các khoá học về C# CƠ BẢN, LẬP TRÌNH WINFORM thậm chí là LẬP TRÌNH WPF nhưng vẫn bối rối trước những hướng dẫn về CÁC PROJECT THỰC TẾ của Kteam?
Hoặc bạn nghe nói mãi về .NET nhưng vẫn thắc mắc nó có gì hay ho bên trong đó?
Hay đơn giản bạn viết muốn 1 đoạn code cực kỳ nguy hiểm khiến người khác khi nhìn vào phải thốt lên: “Ồ!!!......... Trẻ trâu…”
Khoá học lần này sẽ giúp bạn giải đáp những thắc mắc trên. Chào mừng các bạn đã đến với khoá học Lập trình C# nâng cao của Kteam.
Co em hỏi, em viết như duoi thì viết hàm xuất ra trong hàm trên thì phải làm thế nào?
List<Sach> DSSach = new List<Sach>();
public void ThemSach()
{
Sach book = new Sach();
Console.WriteLine("________THEM SACH VAO KHO________");
Console.WriteLine("Ma sach la: {0}", book.MaSoSach = DSSach.Count + 1);// Count la Properties
Console.Write("Ten sach moi: ");
book.TenSach = Console.ReadLine();
Console.Write("Ten tac gia cua sach: ");
book.TacGia = Console.ReadLine();
Console.Write("So luong(bao nhiêu cuon): ");
book.x = book.DemSach = int.Parse(Console.ReadLine());
DSSach.Add(book);//Add la Methods
Console.WriteLine("Them sach thanh cong");
}
public void XoaSach()
{
Sach book = new Sach();
Console.Write("\nNhap ID cua sach can xoa : ");
int Del = int.Parse(Console.ReadLine());
if (DSSach.Exists(x => x.MaSoSach == Del))
{
DSSach.RemoveAt(Del - 1);
Console.WriteLine("Sach co so ID la: {0} da bi xoa", Del);
}
else
{
Console.WriteLine("ID cua sach khong co trong kho");
}
}