Массивы не типы значений. И нет причин, по которым их содержимое должно быть типом значения, если, конечно, они на самом деле не являются типами значения. (например, int
).
int[] intArray; // intArray is a reference type. It holds ints, a value type
string[] stringArray; // stringArray is a reference type. It holds strings, a reference type
РЕДАКТИРОВАТЬ : Специальная цитата со ссылочной страницы о типе массива:
Типы массивов - это ссылочные типы, полученные из абстрактного базового типа.
Массив. Поскольку этот тип реализует IEnumerable и IEnumerable, вы
можно использовать итерацию foreach для всех массивов в C #.