Как вы управляете несколькими операторами if?C#

Место общения программистов C#
Ответить
Anonymous
 Как вы управляете несколькими операторами if?

Сообщение Anonymous »

В настоящее время я пишу проект с множеством операторов if для проверки определенных значений. Мне кажется, что все эти утверждения кажутся неэффективными и отнимающими много времени в моей программе. Как я могу каким-либо образом оптимизировать или управлять этим?
Примечание. У меня нет опыта работы с C# и, возможно, я не понимаю многих концепций.
Пример в Raylib C#:
if (Raylib.IsGamepadAvailable(0) == true)
{
// looking around on gamepad
rotationV.X = Raylib.GetGamepadAxisMovement(0,GamepadAxis.RightX) * rotationS;
rotationV.Y = Raylib.GetGamepadAxisMovement(0,GamepadAxis.RightY) * rotationS;

// move on gamepad left joystick
if (Raylib.GetGamepadAxisMovement(0, GamepadAxis.LeftX) < 0)
movementV.X *= movementS;

if (Raylib.GetGamepadAxisMovement(0, GamepadAxis.LeftX) > 0)
movementV.X *= movementS;

if (Raylib.GetGamepadAxisMovement(0, GamepadAxis.LeftY) < 0)
movementV.Y *= movementS;

if (Raylib.GetGamepadAxisMovement(0, GamepadAxis.LeftY) < 0)
movementV.Y *= movementS;
}
else
{
// rotation on mouse
rotationV.X = Raylib.GetMouseDelta().X * rotationS/10;
rotationV.Y = Raylib.GetMouseDelta().Y * rotationS/10;

// move on normal controls WASD
if (Raylib.IsKeyDown(KeyboardKey.W))
movementV.Y *= movementS;

if (Raylib.IsKeyDown(KeyboardKey.S))
movementV.Y *= movementS;

if (Raylib.IsKeyDown(KeyboardKey.A))
movementV.X *= movementS;

if (Raylib.IsKeyDown(KeyboardKey.D))
movementV.X *= movementS;

movementV.X *= 0.1f;
movementV.X *= 0.1f;
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... statements
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»