Если учебные пособия, представленные в других ответах, слишком вовлечены, вы можете попробовать реализацию, подобную этой, используя функцию keybd_event
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
Использование:
keybd_event((byte)Keys.VolumeUp, 0, 0, 0); // increase volume
keybd_event((byte)Keys.VolumeDown, 0, 0, 0); // decrease volume
Другие языки программирования, такие как Ruby, используют это довольно часто:
something ||= Something.new
Я честно порван на = ++ оператор во-первых, и это - использование, довольно широко распространено и распространен. С точки зрения ясности дополнительные несколько символов необходимо ли ввести, вероятно, разве ценность, не изменение в языке для добавления a?? =. Если бы это было голосованием, то я голосовал бы против того изменения в языке (хороший вопрос, плохая идея.:-)
я не попробовал это, но Вы могли отобразиться?? = к макросу в Visual Studio, которая просто сделала перезапись для Вас?
Я не обязательно против оператора, однако, такое переменное повторное использование просто не чувствует себя подобно "правильному пути" ко мне. Ошибки, которые должны были быть очевидными Нулевыми указателями, заканчиваются заполненные с неожиданными данными и работой некоторым неожиданным способом, и т.д.
Как ??
сокращение от использования тернарного оператора способом, подобным:
(myObject != null) ? myObject : somethingElse;
, а не сокращение от арифметической операции, я не думаю ??=
, операция является подходящим вариантом. Это - условный оператор.
Я сказал бы, что ??
оператор и более уместно вышеупомянутый шаблон не так распространен и таким образом, новый оператор является излишеством.