Most query operators accept a lambda expression as an argument.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
string[] names = { "C", "Java", "C#", "Javascript" };
IEnumerable<string> filteredNames = System.Linq.Enumerable.Where(names, n => n.Length >= 4);
foreach (string n in filteredNames)
Console.WriteLine(n);
}
}
The output:
Java
Javascript
In example above, the lambda expression is as follows:
n => n.Length >= 4
The input argument corresponds to an input element.
n represents each name in the array and is of type string.
The Where
operator requires that the lambda expression return a bool value, which if true, indicates that the element should be included in the output sequence.
Here's its signature:
public static IEnumerable<TSource> Where<TSource>
(this IEnumerable<TSource> source, Func<TSource,bool> predicate)
The following query retrieves all names that contain the letter "a":
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
string[] names = { "C", "Java", "C#", "Javascript" };
IEnumerable<string> filteredNames = names.Where(n => n.Contains("a"));
foreach (string name in filteredNames)
Console.WriteLine(name);
}
}
The output:
Java
Javascript
java2s.com | Contact Us | Privacy Policy |
Copyright 2009 - 12 Demo Source and Support. All rights reserved. |
All other trademarks are property of their respective owners. |