testzero.cs

来自「北大青鸟内部资料」· CS 代码 · 共 65 行

CS
65
字号
using System;

namespace Example_2
{
	/// <summary>
	/// 该程序演示委托和事件的用法。
	/// </summary>
	
	class EventTest
	{
		// 定义返回类型为 void 的委托
		public delegate void NotifyZero();
		// 定义一个与委托 NotifyZero 关联的事件
		public event NotifyZero ZeroEntered;
		// 引发事件
		public void RaiseZero()
		{
			ZeroEntered();
		}
	}
	
	class Handlers
	{
		// 显示通知消息
		public static void Disp()
		{
			Console.WriteLine("不允许以零为除数");
		}
	}

	class TestZero
	{
		/// <summary>
		/// 应用程序的主入口点。
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
			// 存储值和结果的变量
			int num1;
			int num2;
			double result;

			// EventTest 的对象
			EventTest objEventTest = new EventTest();
			// 订阅该事件
			objEventTest.ZeroEntered += new EventTest.NotifyZero(Handlers.Disp);
			// 接受两个数
			Console.Write("请输入第一个数:");
			num1 = Convert.ToInt32(Console.ReadLine());
			Console.Write("请输入第二个数:");
										   num2 = Convert.ToInt32(Console.ReadLine());
			// 如果第二个数字为 0 则引发事件
			if (num2 == 0)
				objEventTest.RaiseZero();
			else
			{
				// 除法
				result = num1 / num2;
				Console.WriteLine("除法的结果是:{0}", result);
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?