Re: Приоритеты + и ??
От: hardcase Пират http://nemerle.org
Дата: 09.10.13 10:47
Оценка: +2
Здравствуйте, codenet, Вы писали:

C>Разве не логично приоритет '??' ставить выше '+' ,или лопата в другом ?


А вот для меня, скажем, вполне допустимо сделать их приоритет одинаковым.
Это я к тому, что каждому программисту приведенная запись взорвет мозг, это отличный пример необходимости расстановки скобок для явного обозначения порядка вычисления.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[5]: Приоритеты + и ??
От: alxrie  
Дата: 09.10.13 15:30
Оценка: -1
Здравствуйте, Аноним, Вы писали:

A>>Оператор + может быть перегружен.


А>не меняет сути дела , всё равно мне кажется что должны сперва вычисляться в строке все ?? операции,а потом непосредственно происходить (+) сложение полученных данных.

А>а тут хренотень выходит какая-то

С яего бы это "должны"? В языке приоритеты установлены иначе, чем Вам "кажется". И это логично: слева от ?? стоит объект — и несущественно, как этот объект получен (например, он может быть получен при помощи операции +).
Приоритеты + и ??
От: codenet Россия  
Дата: 08.10.13 22:52
Оценка:
Привет!


Случайно наткнулся на

после
object Test = null;
var a = "-- " + Test ?? "null" + " --";

a = "-- "


после
object Test = null;
var a = "-- " + (Test ?? "null") + " --";

a = "-- null --";

Разве не логично приоритет '??' ставить выше '+' ,или лопата в другом ?
Re: Приоритеты + и ??
От: abibok  
Дата: 08.10.13 23:27
Оценка:
C>Разве не логично приоритет '??' ставить выше '+' ,или лопата в другом ?

Конечно не логично. http://msdn.microsoft.com/en-us/library/6a71f45d.aspx
Re[2]: Приоритеты + и ??
От: codenet Россия  
Дата: 08.10.13 23:42
Оценка:
Здравствуйте, abibok, Вы писали:

C>>Разве не логично приоритет '??' ставить выше '+' ,или лопата в другом ?


A>Конечно не логично. http://msdn.microsoft.com/en-us/library/6a71f45d.aspx


что сделано так я уже понял , но вот почему? я не могу представить пример где приоритет ?? над + нарушил бы логически условие.
Re[3]: Приоритеты + и ??
От: alxrie  
Дата: 09.10.13 03:21
Оценка:
Здравствуйте, codenet, Вы писали:

A>>Конечно не логично. http://msdn.microsoft.com/en-us/library/6a71f45d.aspx


C>что сделано так я уже понял , но вот почему? я не могу представить пример где приоритет ?? над + нарушил бы логически условие.


Оператор + может быть перегружен.
Re[4]: Приоритеты + и ??
От: Аноним  
Дата: 09.10.13 11:21
Оценка:
Здравствуйте, alxrie, Вы писали:

A>Здравствуйте, codenet, Вы писали:


A>>>Конечно не логично. http://msdn.microsoft.com/en-us/library/6a71f45d.aspx


C>>что сделано так я уже понял , но вот почему? я не могу представить пример где приоритет ?? над + нарушил бы логически условие.


A>Оператор + может быть перегружен.


не меняет сути дела , всё равно мне кажется что должны сперва вычисляться в строке все ?? операции,а потом непосредственно происходить (+) сложение полученных данных.
а тут хренотень выходит какая-то
Re: Приоритеты + и ??
От: Sinatr Германия  
Дата: 09.10.13 16:20
Оценка:
Здравствуйте, codenet, Вы писали:

Та же история с ?: , нужно просто не ленится со скобками.

Встречный пример:

int a = 1;
int b = 2;
int c = 3;
// вернуть сумму "с" с наибольшим из "а" и "b"

var result1 = b > a ? b : a + c; // неправильно, 2
var result2 = c + b > a ? b : a; // неправильно, 2
var result3 = (b > a ? b : a) + c;
var result4 = c + (b > a ? b : a);
---
ПроГLамеры объединяйтесь..
Re: Приоритеты + и ??
От: dalmal  
Дата: 09.10.13 16:46
Оценка:
Здравствуйте, codenet, Вы писали:

C>Привет!

C>Разве не логичнее приоритет '??' ставить выше '+'
Для меня, например, не логично.
Re: Приоритеты + и ??
От: Neco  
Дата: 11.10.13 17:12
Оценка:
Здравствуйте, codenet, Вы писали:

C>Разве не логично приоритет '??' ставить выше '+' ,или лопата в другом ?

по мне нелогично — для меня ?? это из того же разряда что и ?:, && или ||.
т.е. приоритет должен быть самым низким.
всю ночь не ем, весь день не сплю — устаю
Re[6]: Приоритеты + и ??
От: johny5 Новая Зеландия
Дата: 12.10.13 02:35
Оценка:
Здравствуйте, alxrie, Вы писали:

A>С яего бы это "должны"? В языке приоритеты установлены иначе, чем Вам "кажется".


Честно наработал на минус.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.