Что ж, без точного понимания того, что вы подразумеваете под «итерацией по ссылке», я не могу ответить точно, да или нет, но могу сказать, что под поверхностью происходит то, что .net Framework создает «перечислитель» «класс для каждого раза, когда клиентский код вызывает foreach, для жизни foreach, который поддерживает ссылочный указатель в итерируемую коллекцию, и каждый раз, когда ваш foreach повторяется, ir« доставляет »один элемент и« увеличивает »указатель ссылка в перечислителе на следующий элемент ...
Это происходит независимо от того, являются ли элементы в коллекции, для которой вы выполняете итерацию, типами значений или ссылочными типами.