ToB企服应用市场:ToB评测及商务社交产业平台

标题: C# 接口的使用案例 [打印本页]

作者: 花瓣小跑    时间: 2024-6-19 21:10
标题: C# 接口的使用案例
1. IEnumerable接口同时满意数组和列表


  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication2
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             double[] Array1 = new double[5] { 1, 2, 3, 4, 5 };
  13.             List<double> list = new List<double> { 6, 7, 8, 9, 10 };
  14.             Calculate cal = new Calculate();
  15.             double res1 = cal.Sum(Array1);
  16.             double res2 = cal.Avg(list);
  17.             Console.WriteLine(res1);
  18.             Console.WriteLine(res2);
  19.         }
  20.     }
  21.     class Calculate
  22.     {
  23.         public double Sum(IEnumerable<double> nums)
  24.         {
  25.             double result = 0.0d;
  26.             foreach (var item in nums)
  27.             {
  28.                 result += item;
  29.             }
  30.             return result;
  31.         }
  32.         public double Avg(IEnumerable<double> nums)
  33.         {
  34.             double sum = 0.0d;
  35.             int count = 0;
  36.             foreach (var item in nums)
  37.             {
  38.                 sum += item;
  39.                 count++;
  40.             }
  41.             return sum / count;
  42.         }
  43.     }
  44. }
复制代码
2. OPPO和VIVO使用雷同接口


  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication2
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             //我买了一个oppo手机
  13.             PhoneUser user = new PhoneUser(new OPPO());
  14.             user.usePhone();
  15.             //我又买了一个vivo手机
  16.             user = new PhoneUser(new VIVO());
  17.             user.usePhone();
  18.         }
  19.     }
  20.     interface IPhone
  21.     {
  22.         void Ring();
  23.         void Answer();
  24.         void Send();
  25.         void Receive();
  26.     }
  27.     class OPPO:IPhone
  28.     {
  29.         public void Ring()
  30.         {
  31.             Console.WriteLine("Hello!");
  32.         }
  33.         public void Answer()
  34.         {
  35.             Console.WriteLine("This is Jay!");
  36.         }
  37.         public void Send()
  38.         {
  39.             Console.WriteLine("Good Morning!");
  40.         }
  41.         public void Receive()
  42.         {
  43.             Console.WriteLine("Good Evening!");
  44.         }
  45.     }
  46.     class VIVO : IPhone
  47.     {
  48.         public void Ring()
  49.         {
  50.             Console.WriteLine("Hello!");
  51.         }
  52.         public void Answer()
  53.         {
  54.             Console.WriteLine("This is Jay!");
  55.         }
  56.         public void Send()
  57.         {
  58.             Console.WriteLine("Good Morning!");
  59.         }
  60.         public void Receive()
  61.         {
  62.             Console.WriteLine("Good Evening!");
  63.         }
  64.     }
  65.     //用户类
  66.     class PhoneUser
  67.     {
  68.         private IPhone _iphone;
  69.         public PhoneUser(IPhone iphone)
  70.         {
  71.             _iphone = iphone;
  72.         }
  73.         public void usePhone()
  74.         {
  75.             _iphone.Ring();
  76.             _iphone.Answer();
  77.             _iphone.Send();
  78.             _iphone.Receive();
  79.         }
  80.     }
  81. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4