@Mister_krid

Как работают методы?

Объясните пожалуйста почему при вызове метода H мы получаем вывод class.(я знаю как работают ссылочные и значимые типы и суть глобальных и локальных переменных) просто что-то упускаю.
class Program
    {
		static string who = "class";

		static void F()
		{
			string who = "F";
		}

		static void G()
		{
			F();
			Console.WriteLine(who);
		}

		static void H()
		{
			string who = "H";
			F();
			Console.Write(who);
		}
  }
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
В методе F и H ты объявляешь локальные переменные, а в методе G обращаешься к статичному полю.
В методе H - к переменной.

Вроде в таких ситуациях среда разработки должна подсказывать, что у тебя имена друг друга перекрывают.

Хотя может я сейчас туплю и на самом деле идёт обращение к полю в обоих случаях.

В общем старайся избегать совпадений имён
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы