我的程序每隔几秒就会执行一次:
icon.Text = message;
通常使用相同的message
。
问题:只有在消息与上次不同时才有意义吗?
换句话说,下面的代码可以防止一些闪烁,还是100%无用的认证?
if ( ! message.Equals(icon.Text))
{
icon.Text = message;
}
答案 0 :(得分:0)
不,没有必要,实际上浪费时间,因为.NET实现(至少版本4.6.1)在内部执行此操作:
public string Text {
[...]
set {
[...]
if ([...] && !value.Equals(this.text)) {
[...]
this.text = value;
[...]
}
}
完整源代码:http://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/NotifyIcon.cs,293
感谢Damien_The_Unbeliever提示!