Is there some rare language construct I haven't encountered (like the few I've learned recently, some on Stack Overflow) in C# to get a value representing the current iteration of a foreach loop?
For instance, I currently do something like this depending on the circumstances:
int i = 0;
foreach (Object o in collection)
{
// ...
i++;
}
foreach
is to provide a common iteration mechanism for all collections regardless of whether they are indexable (List
) or not (Dictionary
).
Dictionary
không thể lập chỉ mục, nhưng việc lặp lại Dictionary
sẽ đi qua nó theo một thứ tự cụ thể (tức là một Enumerator có thể lập chỉ mục bởi thực tế là nó mang lại các phần tử theo tuần tự). Theo nghĩa này, chúng ta có thể nói rằng chúng ta không tìm kiếm chỉ mục trong bộ sưu tập, mà là chỉ số của phần tử liệt kê hiện tại trong bảng liệt kê (nghĩa là chúng ta đang ở phần tử liệt kê thứ nhất hay thứ năm hoặc thứ năm).