Когда значение параметра out или out в C # действительно возвращается вызывающей стороне?

Когда я делаю назначениеout или жеref параметр, это значение, непосредственно присвоенное ссылке, предоставленной вызывающей стороной, илиout а такжеref Значения параметров, назначенные ссылкам, когда метод возвращает? Если метод выдает исключение, возвращаются ли значения?

Например:

int callerOutValue = 1;
int callerRefValue = 1;
MyMethod(123456, out callerOutValue, ref callerRefValue);

bool MyMethod(int inValue, out int outValue, ref int refValue)
{
    outValue = 2;
    refValue = 2;

    throw new ArgumentException();

    // Is callerOutValue 1 or 2?
    // Is callerRefValue 1 or 2?
}

Ответы на вопрос(2)

Ваш ответ на вопрос