c#——委托(delegate)demo -凯发k8官方网
凯发k8官方网
收集整理的这篇文章主要介绍了
c#——委托(delegate)demo
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
using system;
using system.collections.generic;namespace homework2
{class delegates{//创建委托类型public delegate bool numberpredicate(int number);static void main(string[] args){random rd = new random();int[] numbers = new int[15];for (int i = 0; i < numbers.length; i )numbers[i] = rd.next(1, 100);console.writeline("原始数组:");array.foreach(numbers, console.writeline);//生成委托实例numberpredicate evenpredicate = iseven;//任意选择一个值,利用委托变量来判断该值是否为偶数//[--a--]console.writeline("利用委托变量判断是否偶数: {0}",evenpredicate(numbers[0]) );//选出偶数//[--b--]int[] evennumbers = filterarray(numbers, evenpredicate);//描述并输出displaylist("numbers数组中的偶数有 : ", evennumbers);//选出素数并输出//[--c--]//生成委托实例numberpredicate primepredicate = isprime;int[] primenumbers = filterarray(numbers, primepredicate);//描述并输出displaylist("numbers数组中的偶数有 : ", primenumbers);}//选择满足predicate的数组元素private static int[] filterarray(int[] intarray, numberpredicate predicate){//可以运用动态数组list的知识。也可以写两个循环,先得到结果数组长度,再生成数组//[--d--]list list = new list();for (int i = 0; i < intarray.length; i ) {if (predicate(intarray[i])) {list.add(intarray[i]);}}return list.toarray();}//判断是否偶数private static bool iseven(int number){return (number % 2 == 0);}//判断是否素数private static bool isprime(int number){//[--e--]for (int i = 2; i <= math.sqrt(number); i ) { if (number % i == 0){return false;}}return true;}//打印description,并输出数组元素private static void displaylist(string description, int[] list){console.writeline(description);foreach (int i in list){console.write($"{i}\t");}console.writeline();}}}
总结
以上是凯发k8官方网为你收集整理的c#——委托(delegate)demo的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: c#——事件(event)demo[闻鸡