Sự khác biệt giữa Array và List trong C#
Trong bài này, csharpcanban.com sẽ giúp các bạn nhận ra được sự khác biệt giữa Array và List. Mặc dù 2 kiểu Array và List đều có chức năng lưu trữ nhiều phần tử dưới cùng một tên, và cùng một loại, tuy nhiên giữa chúng có những sự khác biệt tương đối lớn, những sự khác biệt đó sẽ được csharpcanban.com liệt kê như dưới đây:
Nội dung
1, Array rất khó tùy biến, như thêm, xóa, xắp xếp các phần tử trong Mảng, ví dụ List có thể làm những điều sau:
List colors = new List();
colors.Add("Red");
colors.Add("Blue");
colors.Add("Green");
Sau khi khai báo List colors, ta có thể thực hiện chèn, xóa, và xắp xếp List, để chèn một phần tử mới vào List tại vị trí có Index = 1, ta làm như sau
colors.Insert(1, "violet");
Bạn cũng có thể gọi phương thức sort() để xắp xếp lại List
colors.Sort();
Hay là có thể gọi phương thức Remove() để xóa phần tử khỏi List
colors.Remove("violet");
Để xóa List thực hiện như sau:
color.Clear ();
2, Array cần phải khai báo số lượng cụ thể phần tử, ví dụ string[] = new string[10], còn List thì không cần. Để khai báo List chỉ cần làm như sau:
List colors = new List();
colors.Add("Red");
colors.Add("Blue");
colors.Add("Green");
Cấu trúc câu lệnh List như sau
List<T>
Trong đó tham số T là kiểu chung của các phần tử trong List, ví dụ: Int, String, … hay là một Đối tượng nào đó.
3, Một số điểm giống nhau giữa Array và List:
Dùng vòng lặp để truy cập tới các phần tử của List hoặc Array
foreach (string color in colors)
{
MessageBox.Show(color);
}
Hoặc dùng vòng lặp for
for (int i = 0; i < colors.Count; i++)
{
MessageBox.Show(colors[i]);
}
Để kiểm tra sự tồn tại của một phần tử trong List ta thực hiện như sau:
if (colors.Contains("Blue"))
{
MessageBox.Show("Có màu Blue trong List");
}
4, Đối với việc cấp phát bộ nhớ, thì Array có ưu điểm hơn so với List, Array tiết kiệm bộ nhớ hơn là List, còn List chiếm nhiều bộ nhớ hơn Array.
5, Khi nào dùng Array khi nào dùng List:
Khi chúng ta đã biết cụ thể số lượng phần tử thì nên dùng Array, còn khi chưa biết cụ thể số lượng phần tử hoặc khi cần thực hiện các thao tác thêm, xóa phần tử thì nên dùng List.
6, Chuyển đổi List thành Array thực hiện như sau:
string[] arr = colors.ToArray();
7, Chuyển đối List thành chuỗi String thực hiện như sau:
string combindedString = string.Join(",", colors);
Kết quả sẽ trả về một chuỗi ký tự:
"Red,Blue,Green"
Hãy thực hành sử dụng List để cảm nhận sự khác biệt giữa List và Array nhé các bạn.