C#控制台程序永远等待事件
我有一个简单的C#控制台应用程序附加到事件。 我需要程序继续运行,以便它可以响应事件。 什么是保持运行的正确方法?
这是我的申请:
using System; using NAudio.CoreAudioApi; namespace MaxVolume { class Program { private const float DesiredLevel = -15; private static MMDevice _device; static void Main(string[] args) { MMDeviceEnumerator mmde = new MMDeviceEnumerator(); _device = mmde.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia); _device.AudioEndpointVolume.MasterVolumeLevel = DesiredLevel; _device.AudioEndpointVolume.OnVolumeNotification += SetVolume; } static void SetVolume(AudioVolumeNotificationData data) { if (Math.Abs(data.MasterVolume - DesiredLevel) > 0.1) { _device.AudioEndpointVolume.MasterVolumeLevel = DesiredLevel; } } } }
您可以调用Console.ReadLine()
(如果要终止击键),或者只调用Thread.Sleep(Timeout.Infinite)
。
您可以像这样创建一个while循环:
while(!eventFired) {}
然后有一个字段:
private bool eventFired = false;
然后最终当事件被触发时:
eventFired = true;
(如果你希望它在事件被触发一次之后退出,那就是。如果它应该永远运行,请参阅sleep和readkey的其他答案)
注意 :这用完了CPU,不应该用于任何生产,但在快速和肮脏的测试设置中,它可能是值得的。
上述就是C#学习教程:C#控制台程序永远等待事件分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1019637.html