Net 面试题系列

Net 面试题系列(二)--代码题
 一、用C#实现如下场景:
猫大叫一声,所有的老鼠都开始 逃跑,主人被惊醒
要求:
1、要有联动性,老鼠和主人的行为是被动的
2、要考虑可扩展性,猫的叫声可能引起其他联动效应

分析 :这主要 考的事委托 和事件,相关知识点 要 多去了解
代码如下 :
public sealed class Cat  //猫类
    {
        public event EventHandler Calling;
        public void Call()
        {
            Console.WriteLine("猫开始叫了……");
            if (Calling != null)              //检查事件是否被注册
                Calling(this, EventArgs.Empty);//调用事件注册的方法
        }
    }
    public sealed class Mouse //老鼠类
    {
        public void Escape(object sender, EventArgs e)
        {
            Console.WriteLine("老鼠逃跑了...");
        }
    }
    public sealed class Master //主人
    {
        public void Wakened(object sender, EventArgs e)
        {
            Console.WriteLine("主人惊醒了...");
        }

    }  


  //Main 函数中调用:
 static void Main(string[] args)
 {
        Cat cat = new Cat();
            Mouse mouse = new Mouse();
            Master master = new Master();
            cat.Calling += new EventHandler(mouse.Escape);
            cat.Calling += new EventHandler(master.Wakened);
            cat.Call();
} 

二、用C#实现冒泡排序
            int[] scores = { 10, 20, 60, 40 };
            for (int i = 0; i < scores.Length - 1; i++)   //控制比较的圈数
            {
                for (int j = 0; j < scores.Length - i - 1; j++)
                {
                    if (scores[j] > scores[j + 1])
                    {
                        int temp = scores[j];
                        scores[j] = scores[j + 1];
                        scores[j + 1] = temp;
                    }
                }
            }

            for (int i = 0; i < scores.Length; i++)
            {
                Console.WriteLine(scores[i]);
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值