Giới thiệu
Trong C#, mọi mảng (array) đều có kích thước cố định. Thuộc tính IsFixedSize của mảng luôn trả về true. Điều này nghĩa là bạn không thể thêm hoặc xóa phần tử (resize), chỉ có thể thay đổi giá trị các phần tử hiện có.
Ví dụ 1
using System;
public class Demo
{
public static void Main()
{
string[] products = new string[] { "Electronics", "Accessories", "Clothing", "Toys", "Clothing", "Furniture" };
Console.WriteLine("Danh sách sản phẩm...");
foreach (string s in products)
{
Console.WriteLine(s);
}
Console.WriteLine("Sản phẩm 'Accessories' có trong mảng? = {0}",
Array.Exists(products, ele => ele == "Accessories"));
Console.WriteLine("Sản phẩm 'Stationery' có trong mảng? = {0}",
Array.Exists(products, ele => ele == "Stationery"));
Console.WriteLine("\nCó sản phẩm nào bắt đầu bằng 'C'? = {0}",
Array.Exists(products, ele => ele.StartsWith("C")));
Console.WriteLine("Có sản phẩm nào bắt đầu bằng 'D'? = {0}",
Array.Exists(products, ele => ele.StartsWith("D")));
Console.WriteLine("Có sản phẩm nào bắt đầu bằng 'T'? = {0}",
Array.Exists(products, ele => ele.StartsWith("T")));
Console.WriteLine("Có sản phẩm nào bắt đầu bằng 'E'? = {0}",
Array.Exists(products, ele => ele.StartsWith("E")));
Console.WriteLine("Mảng có kích thước cố định? = " + products.IsFixedSize);
}
}
Kết quả
Danh sách sản phẩm... Electronics Accessories Clothing Toys Clothing Furniture Sản phẩm 'Accessories' có trong mảng? = True Sản phẩm 'Stationery' có trong mảng? = False Có sản phẩm nào bắt đầu bằng 'C'? = True Có sản phẩm nào bắt đầu bằng 'D'? = False Có sản phẩm nào bắt đầu bằng 'T'? = True Có sản phẩm nào bắt đầu bằng 'E'? = True Mảng có kích thước cố định? = True
Ví dụ 2
using System;
public class Demo
{
public static void Main()
{
string[] products = new string[] { };
Console.WriteLine("Có sản phẩm nào bắt đầu bằng 'E'? = {0}",
Array.Exists(products, ele => ele.StartsWith("E")));
Console.WriteLine("Mảng có kích thước cố định? = " + products.IsFixedSize);
}
}
Kết quả
Có sản phẩm nào bắt đầu bằng 'E'? = False Mảng có kích thước cố định? = True
Lưu ý quan trọng
- Mảng C# luôn có
IsFixedSize = true. - Không thể thay đổi kích thước mảng sau khi tạo. Để "resize", phải tạo mảng mới và copy (dùng
Array.Resize). IsReadOnly = falsecho mảng (có thể gán giá trị cho phần tử).- Để có collection thay đổi kích thước động, dùng
List<T>. Array.Exists()dùng delegate/predicate để tìm kiếm phần tử thỏa mãn điều kiện.