?? Нулевой оператор объединения -> Что означает объединение?
У меня возникает соблазн лгать и говорить, что английский - это мой второй язык, но правда в том, что я просто не знаю, что означает "объединение". я знаю что ??
'делает' в C#, но название не имеет смысла для меня.
Я посмотрел слово и понял, что это синоним слова "присоединиться". "Оператор нулевого присоединения" все еще не имеет смысла.
Может ли кто-нибудь просветить меня?
8 ответов
У меня возникает соблазн лгать и говорить, что английский - это мой второй язык... но правда в том, что я просто понятия не имею, что означает "объединение". Я знаю что?? 'делает' в C#, но название не имеет смысла для меня.
Я посмотрел слово и понял, что это синоним слова "присоединиться".
Я бы сказал, что более точное описание "слияния" будет "формировать одну вещь из разных элементов". "Объединение" ??
Оператор происходит потому, что одно значение всегда разрешается из одного из двух значений. Первое ненулевое значение является результатом.
Объединение - это когда у вас есть более одного элемента, а затем вы получаете ровно один - либо объединяя элементы, либо выбирая один элемент из группы. В случае с оператор, вы выбираете первое ненулевое значение пары значений.
Вот некоторые другие определения coalesce
это может помочь понять. Из " Ответов" видно, что это означает "расти вместе, сливаться" или "собираться вместе, чтобы сформировать одно целое". Другими словами, возьмите последовательность предметов и сделайте один из них. Так что, учитывая, что null
в этом обсуждении означает "пустой" null
с непустым дает вам непустое.
Вы можете начать с этого видео на YouTube http://www.youtube.com/watch?v=YJGGmTNHPeo
Если вы видите английское значение объединения, оно говорит: "объединяйтесь". Оператор объединения возвращает первое значение NON-NULL из цепочки.
Например, ниже приведен простой объединяющий код, который объединяет в цепочку четыре строки. Так что, если "str1" равен нулю, он будет пытаться "str2", если "str2" равен нулю, он будет пытаться "str3" и так далее, пока не найдет строку с ненулевым значением. Нулевое значение.
string final =str1 ?? str2 ?? str3 ??
http://www.merriam-webster.com/dictionary/coalesce
Я думаю, что лучшее определение - "объединиться ради общего конца". Так что, по сути, собираем все вместе, чтобы получить лучшее. С точки зрения программирования это скорее получение первого лучшего предмета.
Это очень старый вопрос, но я хотел добавить ответ.
И я думаю, что разработчики языка C# взяли слово из функции COALESCE в T-SQL .
Комментарий к вопросу « Значение объединения в SQL » на английском языке Stack Exchange, на мой взгляд, прекрасно объясняет значение функции в SQL:
Функция SQL на самом деле является сокращенным названием для слияния нуля. Я бы сказал, что это совершенно верно: слияние нулей - это подтип выделенного здесь значения. Разница только в том, что два элемента, используемые для формирования результирующего целого, не объединяются как таковые, а сравниваются и выбираются из: если первый элемент имеет значение NULL (т.е. чистое ничто), он игнорируется; в противном случае второй элемент игнорируется. Таким образом, по сути, он «объединяет» (включает) null в другой элемент. Это немного похоже на исходное значение, но определенно похоже на развитие, основанное на нем.
Объединяющееся слово происходит от латинского языка и означает "объединить" что-то. В частности, в физической химии оно обозначает явление, при котором маленькие капли жидкости, диспергированные в другой несмешивающейся жидкости, имеют тенденцию соединяться с более крупными, образуя более крупные агрегаты; это называется "слияние".
В контексте C# для расширения это "соединение" происходит между переменными благодаря null coalescing operator
, но результирующее значение зависит от того факта, что первый операнд является нулевым или нет, если это так, то получающееся значение будет значением второго операнда.