Страницы

Поиск по вопросам

пятница, 10 января 2020 г.

Целесообразность создания экземпляров Point при задании позиции

#c_sharp #net #winforms


Здравствуйте! Данный вопрос касательно оптимальности.

Каким способом из двух, при программном создании элемента управления в WinForms,
лучше задавать координаты?

1) element.Location = new Point(x, y);
2) element.Location.X = x; element.Location.Y = y;

Целесообразно ли инициализировать экземпляр Point (хотя занимает меньше места и выглядит
красивее)?
    


Ответы

Ответ 1



2) element.Location.X = x; element.Location.Y = y; Этот вариант не рабочий. В Location можно записать Point целиком, а доступ к Location.X и Location.Y только для чтения, т.к. Location свойство а не переменная или поле, о чем студия предупреждает еще до компиляции. Причина довольно простая - структуры в .NET относятся к типам значениям (value types), следовательно свойство при обращении к нему предоставляет копию значения Point и вносить в нее изменения не имеет ни какого смысла.

Ответ 2



Если исходить из красоты, то создание point лучше(раз мы используем объектно ориентированный язык=) При этом в сотнях строчках кода это будет нагляднее и удобнее смотреть.

Комментариев нет:

Отправить комментарий