Информация об изменениях

Сообщение Re[8]: Почему не используется оператор + для списков и пр.? от 20.11.2018 21:21

Изменено 20.11.2018 21:21 Shmj

Re[8]: Почему не используется оператор + для списков и пр.?
Здравствуйте, #John, Вы писали:

S>>В чем неопределенность поведения?

J>Что бы возникло исключение .net framework придется перебрать все ключи одного Dictionary и сравнить с каждым ключем со второго .
J>А это повидение совсем отличается от повидения: "просто создать новый список и скопировать память из двух других."

Понятно что это просто синтаксический сахар, т.е. не ради прироста скорости а ради простоты написания.

И еще. Для словарей это не так уж нужно. А вот для массивов и списков — было бы весьма, так как копировать приходится довольно часто:

byte[] prefix = {1, 2, 3};
byte[] body = { 4, 5, 6 };
byte[] suffix = { 7, 8, 9 };

return prefix + body + suffix;


Красота?
Re[8]: Почему не используется оператор + для списков и пр.?
Здравствуйте, #John, Вы писали:

S>>В чем неопределенность поведения?

J>Что бы возникло исключение .net framework придется перебрать все ключи одного Dictionary и сравнить с каждым ключем со второго .
J>А это повидение совсем отличается от повидения: "просто создать новый список и скопировать память из двух других."

Понятно что это просто синтаксический сахар, т.е. не ради прироста скорости а ради простоты написания.

И еще. Для словарей это не так уж нужно. А вот для массивов и списков — было бы весьма, так как копировать приходится довольно часто (и здесь то можно было бы применить низкоуровневое копирование):

byte[] prefix = {1, 2, 3};
byte[] body = { 4, 5, 6 };
byte[] suffix = { 7, 8, 9 };

return prefix + body + suffix;


Красота?