Обновление структуры в цикле foreach в C #

У меня есть этот код (C #):

using System.Collections.Generic;

namespace ConsoleApplication1
{
    public struct Thing
    {
        public string Name;
    }

    class Program
    {
        static void Main(string[] args)
        {
            List<Thing> things = new List<Thing>();
            foreach (Thing t in things) //  for each file
            {
                t.Name = "xxx";
            }
        }
    }
}

Это не скомпилируется.
Ошибка:

Cannot modify members of 't' because it is a 'foreach iteration variable'

Если я изменюThing кclass а неstructОднако, это компилируется.

Пожалуйста, кто-нибудь может объяснить, что происходит?

Ответы на вопрос(4)

Ваш ответ на вопрос