返回LINQ大全首页
Where()使用Where()可以获取序列中满足指定条件的所有元素。 MSDN public static IEnumerable Where( this IEnumerable source, Func predicate );
代码示例:
public static class Program
{
static void Main( string[] args )
{
int[] dataA = new int[] { 0, 1, 2, 3, 4 };
List dataB = new List() { 1.5f, 1.3f, 3.2f };
string[] dataC = new string[] { "正一郎", "清次郎", "誠三郎", "征史郎" };
// 偶数
IEnumerable dataA_F = dataA.Where( value => value % 2 == 0 );
// 小于2
IEnumerable dataB_F = dataB.Where( value => value value.Length value == index );
// 索引为偶数
IEnumerable dataB_F = dataB.Where( ( value, index ) => index % 2 == 0 );
// 索引为5
IEnumerable dataC_F = dataC.Where( ( value, index ) => index == 5 );
System.Console.WriteLine( "dataA :{0}", dataA.Text() );
System.Console.WriteLine( "dataA Filter:{0}", dataA_F.Text() );
System.Console.WriteLine( "dataB :{0}", dataB.Text() );
System.Console.WriteLine( "dataB Filter:{0}", dataB_F.Text() );
System.Console.WriteLine( "dataC :{0}", dataC.Text() );
System.Console.WriteLine( "dataC Filter:{0}", dataC_F.Text() );
System.Console.ReadKey();
}
public static string Text( this IEnumerable i_source )
{
string text = string.Empty;
foreach( var value in i_source )
{
text += string.Format( "[{0}], ", value );
}
return text;
}
}
dataA :[0], [1], [2], [3], [4],
dataA Filter:[0], [1], [2], [3], [4],
dataB :[1.5], [1.3], [3.2],
dataB Filter:[1.5], [3.2],
dataC :[正一郎], [清次郎], [誠三郎], [征史郎],
dataC Filter: