c#之接口,依赖反转,单元测试
2021-01-07 12:29
标签:sharp 介绍 静态 两种 lin ram 弱类型 rgs color 1.接口 弱类型语言允许将一块内存看做多种类型。比如直接将整型变量与字符变量相加。C and C++ 是静态语言,也是弱类型语言;Perl and PHP 是动态语言,但也是弱类型语言。 下面代码简单介绍了使用接口的例子,因为c#是强类型语言,所以如果Sum()方法的参数不是IEnumerable的话,就只能是int[]或者ArryList,这种情况下,如果想num与arrayList对象都用sum和avg方法的话就得每个都写一遍,但是因为数组和ArrayList都继承了IEnumerable,所以可以直接用它做参数接收。 结果: c#之接口,依赖反转,单元测试 标签:sharp 介绍 静态 两种 lin ram 弱类型 rgs color 原文地址:https://www.cnblogs.com/anjingdian/p/13149984.html
强类型语言在没有强制类型转化前,不允许两种不同类型的变量相互操作。Java、C# 和 Python 等都是强类型语言。 class Program
{
static void Main(string[] args)
{
int[] num = new int[] { 1, 2, 3, 4, 5 };
ArrayList arrayList = new ArrayList { 1, 2, 3, 4, 5 };
Console.WriteLine(Sum(num));
Console.WriteLine(Avg(num));
Console.WriteLine(Sum(arrayList));
Console.WriteLine(Avg(arrayList));
Console.ReadKey();
}
static int Sum(IEnumerable num)
{
int sum = 0;
foreach(var n in num)
{
sum += (int)n;
}
return sum;
}
static double Avg(IEnumerable num)
{
int sum = 0;
double count = 0;
foreach (var n in num)
{
sum += (int)n;
count++;
}
return sum/ count;
}
}
15
3
15
3