作业说明
“编写一个程序,只使用6到16之间的偶数打印 事件“。
虽然在课堂上我们只使用CL应用程序只是按钮不起作用。所以我考虑使用if than语句,如果CurrentNumber甚至是mod 2,则会引发事件,因为当前数字被声明为6
While CurrentNumber < 17
If CurrentNumber Mod 2 Then
RaiseEvent Even()
CurrentNumber = CurrentNumber + 1
Else
CurrentNumber = CurrentNumber + 1
End If
End While
但是我如何处理console.writeline(CurrentNumber)的事件基本上我需要做的是制作一个程序,使用事件打印偶数我试图解决问题的方法是在事件中调用如果数字甚至显示当前的数字
答案 0 :(得分:0)
我认为你走在正确的轨道上。如果你要构建一个只有一个目的的类 - 在偶数或奇数出现时计算数字并引发事件怎么办?假设这个类名为Counter
。
接下来,如果您的Program
类具有Counter
类的实例并且仅为Even
事件设置了事件处理程序,该怎么办?每次出现偶数时,处理程序都可以执行Console.WriteLine()
。
答案 1 :(得分:0)
嗯,首先,你正在使用“mod 2”位进行不必要的工作。 只需将for循环限制在您想要的范围内:
For Index As Int32 = 6 To 16 Step 2
RaiseEvent EvenNumber(Index)
Next
然后你的EvenNumber事件设置看起来类似于:
Public Event EvenNumber(number)
' In program startup:
AddHandler Me.EvenNumber, AddressOf EvenNumberHandler
' later...
Private Sub EvenNumberHandler(ByVal number As Int32)
Console.WriteLine(number)
End Sub