Простые вещи в С#

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Esgal
Сообщения: 78
Зарегистрирован: 04 ноя 2008, 01:15

извините за глупый вопрос.

Познаю С#.

возникла такая не понятка... пишу функцию меняющую местами значения переменных

Код: Выделить всё

    static void Swap(double a, double b)
    {
        double buf = a;
        a = b;
        b = buf;
    }
потом вызываю функцию

Код: Выделить всё

   Swap(arr[i-1],arr[i]);
значения естественно не меняются... что исправить?

Пользуюсь Visual Studio 2008
Luke! Use the Force! Use the Force... oh, Luke! Stop using the Force, use your head!
Esgal
Сообщения: 78
Зарегистрирован: 04 ноя 2008, 01:15

всё было просто. Надо было добавить ключевое слово ref

Код: Выделить всё

 
   static void Swap(ref double a, ref double b)
    {
        double buf = b;
        b = a;
        a = buf;
    }
и вызывать нужно с ним

Код: Выделить всё

  Swap(ref arr[i-1], ref arr[i]);
Luke! Use the Force! Use the Force... oh, Luke! Stop using the Force, use your head!
Ответить