Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Sử dụng foreach để truy cập phần tử mảng trong C#


Để truy cập phần tử mảng trong câu lệnh foreach, giá trị lặp chính là phần tử mảng. Chỉ số (index) không có sẵn trong foreach, nhưng có thể tính toán nếu cần.

Ví dụ

using System;

namespace ArrayApplication
{
    class MyArray
    {
        static void Main(string[] args)
        {
            int[] n = new int[10];
            
            // Khởi tạo mảng
            for (int i = 0; i < 10; i++)
                n[i] = i + 100;
            
            // Duyệt bằng foreach
            foreach (int j in n)
            {
                int i = j - 100; // Tính lại chỉ số
                Console.WriteLine("Element[{0}] = {1}", i, j);
            }
            
            Console.WriteLine(n); // In kiểu mảng
            Console.ReadKey();
        }
    }
}

Kết quả

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
System.Int32[]

Lưu ý

  • foreach chỉ đọc (read-only), không thể gán giá trị cho biến lặp
  • Để truy cập chỉ số, dùng for hoặc for (int i = 0; i < arr.Length; i++)
  • C# 7+: Dùng foreach (var (index, value) in arr.Select((v, i) => (i, v))) (cần LINQ)

Truy cập phần tử cụ thể: Dùng chỉ số trực tiếp: int a = n[1]; cho phần tử thứ 2 (giá trị 101).