C#——委托(delegate)DEMO
生活随笔
收集整理的這篇文章主要介紹了
C#——委托(delegate)DEMO
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
源代碼
using System; using System.Collections.Generic;namespace Homework2 {class Delegates{//創(chuàng)建委托類型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("原始數(shù)組:");Array.ForEach(numbers, Console.WriteLine);//生成委托實(shí)例NumberPredicate evenPredicate = IsEven;//任意選擇一個(gè)值,利用委托變量來判斷該值是否為偶數(shù)//[--a--]Console.WriteLine("利用委托變量判斷是否偶數(shù): {0}",evenPredicate(numbers[0]) );//選出偶數(shù)//[--b--]int[] evenNumbers = FilterArray(numbers, evenPredicate);//描述并輸出DisplayList("numbers數(shù)組中的偶數(shù)有 : ", evenNumbers);//選出素?cái)?shù)并輸出//[--c--]//生成委托實(shí)例NumberPredicate primePredicate = IsPrime;int[] primeNumbers = FilterArray(numbers, primePredicate);//描述并輸出DisplayList("numbers數(shù)組中的偶數(shù)有 : ", primeNumbers);}//選擇滿足predicate的數(shù)組元素private static int[] FilterArray(int[] intArray, NumberPredicate predicate){//可以運(yùn)用動(dòng)態(tài)數(shù)組List的知識。也可以寫兩個(gè)循環(huán),先得到結(jié)果數(shù)組長度,再生成數(shù)組//[--d--]List<int> list = new List<int>();for (int i = 0; i < intArray.Length; i++) {if (predicate(intArray[i])) {list.Add(intArray[i]);}}return list.ToArray();}//判斷是否偶數(shù)private static bool IsEven(int number){return (number % 2 == 0);}//判斷是否素?cái)?shù)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,并輸出數(shù)組元素private static void DisplayList(string description, int[] list){Console.WriteLine(description);foreach (int i in list){Console.Write($"{i}\t");}Console.WriteLine();}}}運(yùn)行結(jié)果?
總結(jié)
以上是生活随笔為你收集整理的C#——委托(delegate)DEMO的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue——请求转发配置解决方案
- 下一篇: C#——事件(Event)DEMO[闻鸡