Welcome to mirror list, hosted at ThFree Co, Russian Federation.

test-anon-12.cs « tests « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3203ed8ed01493e47cd04e8991ba230d42c42ecf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections;

delegate bool predicate (object a);

class X {

	public static int Main ()
	{
		ArrayList a = new ArrayList ();
		for (int i = 0; i < 10; i++)
			a.Add (i);

		ArrayList even = Find (delegate (object arg) {
			return ((((int) arg) % 2) == 0);
		}, a);

		Console.WriteLine ("Even numbers");
		foreach (object r in even){
			Console.WriteLine (r);
		}
		if (even.Count != 5)
			return 1;
		if (((int)even [0]) != 0 ||
		    ((int)even [1]) != 2 ||
		    ((int)even [2]) != 4 ||
		    ((int)even [3]) != 6 ||
		    ((int)even [4]) != 8)
			return 2;
				
		return 0;
	}

	static ArrayList Find (predicate p, ArrayList source)
	{
		ArrayList result = new ArrayList ();

		foreach (object a in source){
			if (p (a))
				result.Add (a);
		}

		return result;
	}
}