Есть ли способ сократить эти строки кода
|
|
Vostrugin | Дата: Понедельник, 06 Июля 2020, 15:40 | Сообщение # 21 |
постоянный участник
Сейчас нет на сайте
| Цитата Xakep ( ) и видим что есть боксинг:
Боксинг/анбоксинг выполняется с помощью box, unbox, нет?
Сообщение отредактировал Vostrugin - Понедельник, 06 Июля 2020, 15:45 |
|
| |
Xakep | Дата: Вторник, 07 Июля 2020, 05:27 | Сообщение # 22 |
めちゃくちゃちゃ
Сейчас нет на сайте
| Цитата drcrack ( ) Nullable<T> это структура с 2 value type полями, нет там боксинга Понятно.
Цитата Vostrugin ( ) Боксинг/анбоксинг выполняется с помощью box, unbox, нет? Боксинг обычно - это просто оборачивание каких либо переменных в инстанс класса, в Java это различные Integer, Float, которые оборачивают примитивы int и float в классы и таким образом они становятся nullable либо преобретают дополнительные свойства, но в C# с nullable поступили умнее.
|
|
| |
Vostrugin | Дата: Вторник, 07 Июля 2020, 07:13 | Сообщение # 23 |
постоянный участник
Сейчас нет на сайте
| Цитата Xakep ( ) Боксинг обычно - это просто оборачивание каких либо переменных в инстанс класса Спасибо, я знаю что такое боксинг/анбоксинг. Вопрос был к тому, что когда он происходит в IL ты увидишь вызов box/unbox соответственно, а в приведённом куске его нет. Вот пример с боксингом, в таком случае в IL ты видишь явно вызов box/unbox
|
|
| |
Xakep | Дата: Вторник, 07 Июля 2020, 15:27 | Сообщение # 24 |
めちゃくちゃちゃ
Сейчас нет на сайте
| Цитата Vostrugin ( ) Спасибо, я знаю что такое боксинг/анбоксинг. Вопрос был к тому, что когда он происходит в IL ты увидишь вызов box/unbox соответственно, а в приведённом куске его нет. Вот пример с боксингом, в таком случае в IL ты видишь явно вызов box/unbox Ага, я уже это понял )
|
|
| |
Storm54 | Дата: Вторник, 07 Июля 2020, 17:30 | Сообщение # 25 |
постоянный участник
Сейчас нет на сайте
| Да, прошу прощения. Меня смутила инструкция newobj, но т.к. Nullable<T> - value type, то лишних выделений памяти не будет.
|
|
| |
alexsilent | Дата: Четверг, 09 Июля 2020, 15:33 | Сообщение # 26 |
почти ветеран
Сейчас нет на сайте
| В конечном итоге пришлось сделать мини функции для: position (3 функции), localPosition (3 функции), localScale (3 функции), localEulerAngles (1 функция на Z ибо 2D игра) и Color (4 функции) Или может стоит забить на эти функции и просто вектор в нужном месте подставлять, чтобы манипуляции провести с одной частью вектора или цвета.
Сообщение отредактировал alexsilent - Четверг, 09 Июля 2020, 15:36 |
|
| |
GMassta | Дата: Четверг, 09 Июля 2020, 16:38 | Сообщение # 27 |
частый гость
Сейчас нет на сайте
| Код private float speed = 10; private Vector3 vAngle = Vector3.zero;
//При повороте vAngle.Set(x, y, z);
//При движении transform.Translate(vAngle, speed * Tme.deltaTime);
Или в чем сложность? Также можешь сначала объявить цвета, а потом их выбирать.
Make games, not war Посмотри мои игры для мобилок, влепи лукаса! Тут я делаю игры на Unity
|
|
| |