c#菜鸟级编程题目 我现在在自学c#,最近看到委托和事件,想请教大虾们用委托和事件遍一个简单的程序,实现键盘输入两个数,当两数相加小于50时,显示该值;相加大于50时,显示“超出50了”。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这个例子不好,我给你设计了另一个。每隔一段时间你请求一个类产生一个随机数,并要求如果产生的数大于50就通知我。文件1:using System;using System.Timers;namespace ConsoleApplication1{ public delegate void TheEvent(int i);//自定义一个委托类型,无返回值,参数是一个int。 class NumberCreater { private Random ra = new Random(); /// <summary> /// 当大于50的数被创建后则引发事件 /// </summary> public event TheEvent BigNumberCreated;//为这个类增加一个事件 public void Create(Object sender, ElapsedEventArgs e) { int i = ra.Next(100); if (i > 50) { if (BigNumberCreated != null)//保证确实有人订阅了此事件,有人订阅我才通知他嘛 BigNumberCreated(i); } } }}文件2:using System;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { System.Timers.Timer timer = new System.Timers.Timer(500); NumberCreater nc = new NumberCreater(); nc.BigNumberCreated += delegate(int i)//用一个匿名方法订阅事件,以便获得通知 { Console.WriteLine(i);//把产生的大数显示出来。你也可以进行别的处理 }; timer.Elapsed += new System.Timers.ElapsedEventHandler(nc.Create);//timer每次到时间后就会调用nc.Create(),后者就随机产生一个数,如果>50就把它显示出来。 timer.Start(); Console.Read(); } }} 网上搜到说是序列化的问题,具体的不清楚 本机网站运行完好,但是上传服务器页面报错 怎么做带下拉列表的按钮 求助:关于WebClient类 紧急求救!!-一个查询问题 在unity3D中如何根据一天内的温度变化制作一张统计图 C#制作字典 vb调用vs2005生成的dll(急) 如何移动无模式窗体? 如何实现对winform中,编写Label1双击事件? 一个c#代理服务器的问题 新手求教进程问题
每隔一段时间你请求一个类产生一个随机数,并要求如果产生的数大于50就通知我。
文件1:using System;
using System.Timers;namespace ConsoleApplication1
{
public delegate void TheEvent(int i);//自定义一个委托类型,无返回值,参数是一个int。
class NumberCreater
{
private Random ra = new Random(); /// <summary>
/// 当大于50的数被创建后则引发事件
/// </summary>
public event TheEvent BigNumberCreated;//为这个类增加一个事件 public void Create(Object sender, ElapsedEventArgs e)
{
int i = ra.Next(100);
if (i > 50)
{
if (BigNumberCreated != null)//保证确实有人订阅了此事件,有人订阅我才通知他嘛
BigNumberCreated(i);
}
} }
}
文件2:using System;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
System.Timers.Timer timer = new System.Timers.Timer(500); NumberCreater nc = new NumberCreater(); nc.BigNumberCreated += delegate(int i)//用一个匿名方法订阅事件,以便获得通知
{
Console.WriteLine(i);//把产生的大数显示出来。你也可以进行别的处理
}; timer.Elapsed += new System.Timers.ElapsedEventHandler(nc.Create);//timer每次到时间后就会调用nc.Create(),后者就随机产生一个数,如果>50就把它显示出来。 timer.Start(); Console.Read();
}
}
}