代码的可重用性:
为了提高代码的可重用性我们这样定义一个IPhone phone = null明显的提高了程序的可重用性。而在我自己做的时候没有定义IPhone phone= null;这个字段。直接用IPhone mobile = new Mobile();和
iphone.Add(mobile);进行了添加。实质还是没有代码的重用。我们可以定义一个 if (phone != null)
                {
                    iphone.Add(phone);
                }
使得只要是属于IPhone这个接口的属性都可以添加到iphone的集合中。所以我们以后写代码时要尽量写
少量的变量去实现同样的代码。记得用接口去接收整个数据。让集合里填充的是不同类型的数据。
另外我们可以用while (Console.ReadKey(true).Key.ToString().ToUpper()!="E") ;代替while
(Console.ReadLine().ToUpper()!="E");使得程序更加人性化。
using System.Text;
using System.Collections;
using System.Threading;
namespace _7_27lianxi
{
    class Program
    {
        static void Main(string[] args)
        {
            List<IPhone> iphone = new List<IPhone>();
            IPhone phone = null;
            do
            {
                Console.WriteLine("1、手机录入 2、坐机录入 3 小灵通");
                switch (Console.ReadLine())
                {
                    case "1":
                       phone = new Mobile();
                        WritePhone(phone);
                        //IPhone mobile = new Mobile();
                        //Console.WriteLine("请输入{0}号码:",mobile.Name);
                        //mobile.Number = Console.ReadLine();
                        //iphone.Add(mobile);
                        break;
                    case "2":
                        phone = new Tel();
                        WritePhone(phone);
                       // Console.WriteLine("请输入{0}号码:", tel.Name);
                        //tel.Number = Console.ReadLine();
                        //iphone.Add(tel);
                        break;
                    case "3":
                        phone = new LittleSmart();
                        WritePhone(phone);
                        // Console.WriteLine("请输入{0}号码:", tel.Name);
                        //tel.Number = Console.ReadLine();
                        //iphone.Add(tel);
                        break;
                    default:
                        break;
                 
               
               
                }
                if (phone != null)
                {
                    iphone.Add(phone);
                }
                Console.WriteLine("退出请按E,继续请按任意键!");
           
            }
           // while (Console.ReadLine().ToUpper()!="E");
            while (Console.ReadKey(true).Key.ToString().ToUpper()!="E") ;
            foreach (var s in iphone)
            {
                Console.WriteLine("名称{0},号码{1}",s.Name,s.Number);
           
            }
          
           
          
        }
         static void WritePhone(IPhone phone1)
            {
                 Console.WriteLine("请输入{0}号码:",phone1.Name);
                 phone1.Number = Console.ReadLine();
           
            }
    }
    interface IPhone
    {
        string Name
        {
            get;
        }
        string Number
        {
            get;
            set;
        }
   
    }
    class Mobile:IPhone
    {
        string name = "手机";
        public string Name
        {
            get
            {
                return name;
            }
       
        }
        string number = "";
        public string Number
        {
            get
            {
                return number;
            }
            set
            {
                number = value;
            }
       
        }
   
   
    }
    class Tel:IPhone
    {
        string number = "";
        string name = "座机";
        public string Name
        {
            get
            {
                return name;
            }
        }
        public string Number
        {
            get
            {
                return number;
            }
            set
            {
                number = value;
            }
        }

    }
    class LittleSmart : IPhone
    {
        string number = "";
        string name = "小灵通";
        public string Name
        {
            get
            {
                return name;
            }
        }
        public string Number
        {
            get
            {
                return number;
            }
            set
            {
                number = value;
            }
        }

    }