Является ReferenceEquals (пустой указатель, obj) тем же самым как пустым указателем == obj?

Примечание: есть ответ с более высоким голосованием . Из-за сортировки SO она ниже принятого ответа.

У меня тоже была та же проблема, и я решил ее следующим образом:

  1. Запустил Fiddler со своей стандартной конфигурацией.
  2. Запустил IE и сделал HTTP-запрос к внешнему веб-сайту.
  3. Появился диалог авторизации прокси, где я ввел свои учетные данные.
  4. В Fiddler искал заголовки запроса для «Proxy-Authorization».
  5. Скопировал значение заголовка, которое выглядело как «Basic sOMeBASE64eNCODEdSTRING =» в буфер обмена.
  6. Изменили файл CustomRules.js со следующей строкой в ​​OnBeforeRequest:

    oSession.oRequest ["Proxy-Authorization"] = "Basic sOMeBASE64eNCODEdSTRING =";

Так что мой подход был очень похож на ваш, но я заранее проверил, какой тип авторизации на прокси-сервере требуется с помощью Fiddler для отладки заголовка авторизации. Таким образом, я узнал, что мне нужно было добавить «Basic» до кодирования учетных данных Base64, и мне даже не пришлось использовать инструмент для кодирования учетных данных в Base64. Просто скопировал значение из заголовка авторизации прокси.

27
задан Prankster 9 June 2009 в 14:17
поделиться

2 ответа

You'd usually see this in the implementation of an == operator.

For instance:

public static bool operator ==(Foo f1, Foo f2)
{
    if (ReferenceEquals(f1, f2))
    {
        return true;
    }
    if (ReferenceEquals(f1, null) || ReferenceEquals(f2, null))
    {
        return false;
    }
    // Now do comparisons
}

You don't want to use:

if (f1 == f2)

because that will recurse into the same code! An alternative is:

if ((object)f1 == (object)f2)

(And the same for the null check.)

32
ответ дан 28 November 2019 в 05:06
поделиться

То же самое, если obj типизирован как объект .

Если переменная определяет тип оператор статического равенства или нулевой оператор, тогда он будет другим; и если obj определен как Nullable , тогда компилятор вмешается и вместо этого проверит HasValue .

19
ответ дан 28 November 2019 в 05:06
поделиться
Другие вопросы по тегам:

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