System.Array เป็น Base Class ของ Array ทั้งหมด มี Static Methods และ Instance Methods/Properties ที่มีประโยชน์
Static Methods (ใช้บ่อย)
| Method | คำอธิบาย |
Sort(Array) | เรียงลำดับ Array (In-place) |
Sort(Array, IComparer) | เรียงด้วย Comparator |
BinarySearch(Array, value) | ค้นหาแบบทวิภาค (ต้อง Sorted) |
Copy(src, dest, len) | คัดลอก Array (มี Overloads หลายแบบ) |
CopyTo(dest, index) | Instance Method - คัดลอกทั้ง Array |
Clear(Array, index, len) | ล้างค่า (0, false, null) |
Reverse(Array) | กลับลำดับ |
IndexOf(Array, value) | หา Index แรกที่เจอ |
LastIndexOf(Array, value) | หา Index สุดท้ายที่เจอ |
Resize<T>(ref arr, size) | เปลี่ยนขนาด Array |
CreateInstance(type, dims) | สร้าง Array แบบ Dynamic |
Instance Properties
| Property | คำอธิบาย |
Length | Total Elements (All Dimensions) |
Rank | Number of Dimensions |
GetLength(dimension) | Size ใน Dimension นั้น |
GetLowerBound(dimension) | Lower Bound (มักเป็น 0) |
GetUpperBound(dimension) | Upper Bound (Length-1) |
IsFixedSize | Always True สำหรับ Array |
IsReadOnly | Always False สำหรับ Array |
ตัวอย่าง: ใช้ Array Methods
using System;
class Program
{
static void Main()
{
int[] arr = { 5, 2, 8, 1, 9 };
Console.WriteLine("Original: " + string.Join(", ", arr));
Array.Sort(arr);
Console.WriteLine("Sorted: " + string.Join(", ", arr));
int index = Array.BinarySearch(arr, 8);
Console.WriteLine("Index of 8: " + index); // 3
Array.Reverse(arr);
Console.WriteLine("Reversed: " + string.Join(", ", arr));
Array.Clear(arr, 1, 2); // Clear index 1,2
Console.WriteLine("Cleared: " + string.Join(", ", arr));
// 2D Array Properties
int[,] matrix = new int[3, 4];
Console.WriteLine("Rank: " + matrix.Rank); // 2
Console.WriteLine("Rows: " + matrix.GetLength(0)); // 3
Console.WriteLine("Cols: " + matrix.GetLength(1)); // 4
}
}