Pass delete Filter Method with an Anonymous Method in CSharp

Description

The following code shows how to pass delete Filter Method with an Anonymous Method.

Example


using System;/*from   w  w  w.  j a va 2  s .  c  o m*/
using System.Collections;

public delegate bool IntFilter(int i);

public class MainClass {
    public static int[] FilterArrayOfInts(int[] ints, IntFilter filter) {
        ArrayList aList = new ArrayList();
        foreach (int i in ints) {
            if (filter(i)) {
                aList.Add(i);
            }
        }
        return ((int[])aList.ToArray(typeof(int)));
    }
    public static void Main() {

        int[] nums = { 1, 2, 3, 4, 5, 6};

        int[] oddNums = FilterArrayOfInts(nums, delegate(int i) { return ((i & 1) == 1); });

        foreach (int i in oddNums)
            Console.WriteLine(i);
    }
}

The code above generates the following result.





















Home »
  C# Tutorial »
    Custom Types »




C# Class
C# Struct
C# Interface
C# Inheritance
C# Namespace
C# Object
C# Delegate
C# Lambda
C# Event
C# Enum
C# Attribute
C# Generics
C# Preprocessor