C# - объясните мне смысл модификатора static
Я попытался вызвать функцию из другого класса, но высветилась ошибка: "для нестатического поля метода или свойства требуется ссылка на объект". Добавил к этой функции static, тогда подчеркнулись все переменные, которые в ней используются. Добавил туда, где эти переменные объявляются, этот же static, и ошибки исчезли, код заработал правильно.
Объясните мне (я в C# новичок), что это такое и для чего оно нужно?
Статические поля = глобальные переменные
Статические методы - такие, для вызова которых не требуется создание экземпляра класса. Например, для вычисления синуса Math.Sin не нужно создавать объект класса Math и задалбывать потом сборщик мусора постоянными освобождениями памяти. Логично предположить, что статические методы могут использовать только глобальные переменные, поскольку к полям несозданного объекта они обратиться не могут.
Ты же, скорее всего, спорол-с херню-с, превратив поля потенциально разных объектов в общие для всех глобальные переменные. Впрочем, мне отсюда не видно, может, ты именно так и хотел.
Если ты новичок, читай книгу. Там всё должно объясняться. Думаешь знания из Астрала в мозг поступают? Нет, всё из книг.