Прежде всего, статическое ключевое слово.Статическое ключевое слово, переменные состояния/экземпляра и безопасность потоков
Я прочитал несколько статей и прошлых тем, охватывающих ключевое слово static. Я не нашел много сценариев, перечисленных в том, когда я должен его использовать. Все, что я знаю, это не создание объекта в куче, который говорит мне, что было бы хорошо с точки зрения производительности для объекта, который использовался много.
Есть ли другая причина использовать его?
Кроме того, я прочитал что-то о ключевом слове static и о том, как его нельзя использовать с переменными экземпляра или изменить состояние. Может ли кто-нибудь прояснить это? Кажется, что это случай 2 + 2, но я не могу получить ответ (не хватает нескольких фундаментальных и простых знаний).
И наконец, на тему безопасности потоков, что я должен искать в своем коде, чтобы получить представление о безопасности потоков?
Я разместил это в VB.NET тоже, потому что я не думаю, что разные языки (C#/VB.NET) будут иметь разные правила.
Благодаря
Вижу. Поэтому, если я хочу манипулировать определенной переменной, используйте переменную as instance. В противном случае статические данные не требуются. – dotnetdev
Нет, статические методы должны использоваться, когда вы либо хотите глобальное состояние, либо не нуждаетесь в состоянии напрямую. статический в свободном от состояния контексте является хорошей вещью вообще, поскольку он делает функцию более стабильной/полезной. – ShuggyCoUk
Что означает «не нужно состояние»? Что именно такое состояние? Кроме того, если я отредактирую строку (строка s = «sjsjs» .Substring()), я мог бы использовать метод экземпляра с параметром или статическим методом с параметром. Какая разница? – dotnetdev