Объявление static переменной в методе - C#

Узнай цену своей работы

Формулировка задачи:

В С/C++ в методах можно объявлять static переменные. Пытаюсь сделать так же в C#,но ошибка:
static void some_function()
{
    static int x = 10;
}

Решение задачи: «Объявление static переменной в методе»

textual
Листинг программы
class Program
{
       public static Func<int>GetFunc()
       {
           int a=0;
           return ()=>++a;
       }
 
static void Main()
 {
//тут выполняется вызов функции. 
//по идее локальная переменная а внутри функции должна быть 
//уничтожена после завершения функции
           Func<int> f = GetFunc();
           Func<int> f1 = GetFunc();
//однако ее использует анонимная функция f локальная переменная а
//продолжает существовать пока существует f
           for(int i=0; i<10; i++)
           {
                 Console.WriteLine(f());
           }
//тут мы увидим 1, так как для f1 была создана своя переменная а
           Console.WriteLine(f1());
           Console.Read();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы