Csharp/C#教程:C#控制台程序永远等待事件分享


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

(0)
上一篇 2022年1月4日
下一篇 2022年1月4日

精彩推荐