Описание тега null-coalescing-operator
Оператор объединения с нулевым значением (?? в PHP 7) используется для определения значения по умолчанию для типов значений, допускающих значение NULL, или ссылочных типов. Он возвращает левый операнд, если операнд не равен нулю; в противном случае возвращается правильный операнд.
1
ответ
Какова последовательность этой встроенной нулевой проверки и оценки сложения?
Я не могу придумать лучшего названия, но эта ошибка заняла у меня много времени. Может кто-нибудь объяснить мне, почему это дает мне разные результаты? string may = "May"; string june = "June"; string july = "July"; Console.WriteLine(may?.Length ?? …
05 июл '18 в 12:21
3
ответа
Отправка нулевых параметров на Sql Server
У меня есть SqlCommand объект, который я использую для обновления таблицы базы данных, но он неправильно интерпретирует мои нулевые значения. Вот SQL: UPDATE dbo.tbl SET param1 = @param1, param2 = @param2, param3 = @param3, param4 = @param4, param5 …
23 сен '13 в 15:29
3
ответа
Каков результат, если все параметры в операции объединения нулей равны нулю?
Когда этот код заканчивается, каков результат myObject? object myObject = "something"; object yourObject = null; myObject = null ?? yourObject;
19 окт '10 в 17:55
9
ответов
C# оператор объединения
У меня есть класс со строковым свойством. Я использую оператор coalesce при чтении из него, поскольку он может быть нулевым, но он все равно выдает мне NullRefrenceExeption. string name = user.Section.ParentSection.Name ?? string.Empty; Чтобы быть б…
28 мар '12 в 14:48
1
ответ
Объединение слияния более одного раза?
Есть ли в C# что-нибудь, что позволило бы вам сделать что-то вроде string str = nullval1 ?? nullval2 ?? nullval3 ?? "Hi"; и он будет идти слева направо, выбирая первый, который не является нулевым? Если этот оператор этого не делает, есть ли возможн…
02 фев '11 в 02:01
21
ответ
Есть ли в JavaScript оператор "нулевого слияния"?
Есть ли в Javascript пустой оператор слияния? Например, в C# я могу сделать это: String someString = null; var whatIWant = someString ?? "Cookies!"; Лучшее приближение, которое я могу выяснить для Javascript, это использование условного оператора: v…
24 янв '09 в 18:18
3
ответа
В любом случае использовать оператор объединения NULL для упрощения этого кода?
У меня есть этот кусок кода: Phone addrFax = address.Phones.Phone.SingleOrDefault(p => p.PhoneType == PhoneTypeEnum.Fax); if (addrFax != null) tba.Fax = addrFax.PhoneNumber; Это повторяется несколько раз для различных значений PhoneType. Все это …
25 апр '14 в 17:49
3
ответа
Что означает "результат не считается постоянным"
В MSDN я нашел это предложение: Результат Оператор не считается константой, даже если оба его аргумента являются константами. Что это значит? Они означают, что оптимизатор компилятора не знает, что это значение является постоянным? Я не вижу другого…
11 янв '17 в 12:43
4
ответа
"Если" условие лучше чем?? и кастинг
У меня есть следующие два подхода для той же функциональности - один с условием "если" и один с "?? и кастинг ". Какой подход лучше? Почему? Код: Int16? reportID2 = null; //Other code //Approach 1 if (reportID2 == null) { command.Parameters.AddWithV…
04 дек '12 в 08:01
1
ответ
Оператор Элвиса в цепочке вызова кастинга
Оператор Элвиса, он же оператор с нулевым условием, очень крутой. В запросах LINQ он прекрасно работает в сочетании с объединяющим нуль "??" оператор. Somedata.Where(dt=>(dt?.Inner?.InnerMost?.Include=="Yes")??false); Но что вы будете делать, есл…
28 янв '16 в 12:31
5
ответов
Любопытный нуль-коалесцирующий оператор нестандартного поведения неявного преобразования
Примечание: кажется, это было исправлено в Roslyn Этот вопрос возник при написании моего ответа на этот, который говорит об ассоциативности нуль-сливающегося оператора. Как напоминание, идея оператора слияния нулей состоит в том, что выражение вида …
06 июн '11 в 19:11
2
ответа
Обнуляемый оператор в объявлении foreach с использованием C#7
Я смотрел на этот пример кода в C# 7.0 и я не был уверен в том, что происходило под капотом и производительности этой петли. foreach (var c in text ?? throw new ArgumentNullException(nameof(text))) { ... } Мои вопросы: Условный оператор получает уда…
16 фев '17 в 03:16
1
ответ
Нулевой оператор слияния с отливкой
Я обновился до PHP 7 и начал использовать оператор null coalesce для преобразования таких вещей, как $email = isset($_SESSION['email']) ? $_SESSION['email'] : ''; в $email = $_SESSION['email'] ?? ''; но я не могу понять, как это сделать, если я тоже…
23 янв '16 в 18:22
1
ответ
Что это за дополнительный запрос у оператора нулевого слияния
У меня есть это условно: if (dr_dados["DAT_SAIDA"] != null) { txtDataSaida.Text = ""; } else { txtDataSaida.Text = dr_dados["DAT_SAIDA"].ToString(); } Я использую ReSharper от Jetbrain, и он сказал мне, что я могу превратиться в троичную операцию. И…
23 авг '16 в 17:33
4
ответа
Нулевые массивы и IEnumerable<T>
В предыдущем вопросе обсуждается IEnumerable и соглашение об использовании пустых коллекций вместо нулевых. Это хорошая практика, так как она устраняет множество ошибок, допускающих ошибки. Но ответы не совсем касаются одного из случаев. Много раз …
21 сен '11 в 08:33
1
ответ
Используйте IF() Null Coalesce в параметрах SQL
Я пытаюсь использовать оператор If() для объединения значений в параметре SQL, но у меня возникли проблемы с этим. Dim First as String = Nothing First = FirstName.Text Using conn As New SqlConnection() 'Code omitted .AddWithValue("@FirstName", If(Fi…
21 мар '14 в 20:15
2
ответа
Вывод типа C# ("var") из '??' нуль-коалесцирующий оператор
Я прочитал много SO вопросов о нулевом слиянии ?? оператор, но ни один из них, кажется, не решает следующую конкретную проблему, которая не касается ни обнуляемости ( здесь), ни приоритета оператора ( здесь и здесь), ни особенно неявного преобразова…
09 июл '17 в 01:59
2
ответа
Справка по объединению нулевых значений в Javascript. Как включить пороговое значение? a = b || c, но если b > d, выберите c
Я хочу присвоить значение переменной в Ja vaScript var a = b || c; //however if b > 200 choose c Есть ли простой способ сделать это? var a = (b && b <= 200) ? b : c; Спасибо за любые советы или рекомендации. Просто пытаюсь написать это…
27 сен '11 в 18:11
5
ответов
Оператор нуль-коалесценции - зачем кастинг?
Может кто-нибудь сказать, пожалуйста, почему первое из следующих утверждений выдает ошибку компиляции, а второе - нет? NewDatabase.AddInParameter(NewCommand, "@SomeString", DbType.String, SomeString ?? DBNull.Value); // <-- Throws compilation err…
13 июн '11 в 16:21
1
ответ
Laravel 5.2 - операторы объединения PHP 7.0.6, возвращающие пустые строки
Итак, у меня есть проект, основанный на Laravel 5.2 / PHP 7.0.6 и использующий Transformers для обработки ответов API. В МНОГИХ местах в нашем коде мы используем новые операторы php 7 coalescing (??). Однако с момента нашего обновления до php 7.0.6 …
10 май '16 в 18:00