Deutsch

ИИ для программиста?

05.05.25 13:52
Re: ИИ для программиста?
 
alex445 патриот
в ответ gendy 05.05.25 06:18, Последний раз изменено 05.05.25 14:17 (alex445)

Давайте вы сотрёте это? )))


Если кто не понял, я это имел ввиду. Создание нового экземпляра всегда было через new, а тут они сами брейкают свои конвенции.

Впрочем, возможно, что это не создание, а условная запись организации пачки данных в кортежном типе. Но тогда эта условная запись тоже ломает конвенции. Лишь простые типы создаются без new, типа int, float, bool и т.п. Остальные, включая кастомные, должны через new. А кортежи и кортежные типы это явно кастомные типы.


Вобщем, вычитал, что это синтактический сахар. Внутри наверняка создаётся какой-нибудь анонимный тип или что-то такое.


Однако, можно сделать так:


var x = (1, "a");
x = new(2,"b");


С этими новыми кортежными типами отпала необходимость заводить словари с ключами в виде кастомных типов, для чего надо было этим кастомным типам добавить реализацию IComparable. И анонимные классы в явном виде тоже можно не определять. Теперь ассоциативные коллекции можно просто делать так


List<Renderer> renderers = ...
var renderersAndColors = renderers
    .Select<Renderer, (Renderer, Color)>(r => (r, r.material.color))
    .ToArray();

// или можно дать названия полям кортежного типа
(Renderer MyRenderer, Color MyColor)[] renderersAndColors = ...
 

Перейти на