static void Main() { Console.WriteLine("Enter the number of elements in the array: "); int n = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(new string('-', 50)); var array = new MyDelegate[n]; for (int i = 0; i < array.Length; i++) { array[i] = () => new MyDelegate(GetRandom).Invoke(); } ArrayDelegate arrDelegate = (MyDelegate[] c) => { double sr = 0; for (int i = 0; i < c.Length; i++) { sr += c[i].Invoke(); } return(sr / array.Length); }; for (int i = 0; i < array.Length; i++) { Console.Write(array[i].Invoke() + " "); } Console.WriteLine("\nAverage value of elements {0:##.###}", arrDelegate(array)); }
public static void Each <T> (T[] array, ArrayDelegate <T> callback) { for (int i = 0, size = array.Length; i < size; ++i) { callback(array[i], i, array); } }
static void Main(string[] args) { Console.Write("Число элементов массива-"); int arrayLength = Convert.ToInt32(Console.ReadLine()); Console.Write("Элементы массива: "); var array = new ArrayDelegate[arrayLength]; for (int i = 0; i < arrayLength; i++) { array[i] = () => new ArrayDelegate(GetRandomNumber).Invoke(); Console.Write("{0} ", array[i].Invoke()); } AverageMeaning average = delegate(ArrayDelegate[] arrayDelegate) { double averageMeaning = 0; for (int i = 0; i < arrayDelegate.Length; i++) { averageMeaning += arrayDelegate[i].Invoke(); } return(averageMeaning / array.Length); }; Console.WriteLine(); Console.WriteLine("Среднее арифметическое-{0}", average(array)); }
static int test_0_array_delegate_full_aot() { ArrayDelegate d = delegate(int[,] arr) { }; int[,] a = new int[5, 6]; d.BeginInvoke(a, null, null); return(0); }