参见MSDN:C# public static T Find<T> ( T[] array, Predicate<T> match )
类型参数 T 数组元素的类型。 参数 array 要搜索的从零开始的一维 Array。match Predicate,定义要搜索的元素的条件。返回值 如果找到与指定谓词定义的条件匹配的第一个元素,则为该元素;否则为类型 T 的默认值。using System; using System.Drawing;public class Example { public static void Main() { // Create an array of five Point structures. Point[] points = { new Point(100, 200), new Point(150, 250), new Point(250, 375), new Point(275, 395), new Point(295, 450) }; // To find the first Point structure for which X times Y // is greater than 100000, pass the array and a delegate // that represents the ProductGT10 method to the Shared // Find method of the Array class. Point first = Array.Find(points, ProductGT10); // Note that you do not need to create the delegate // explicitly, or to specify the type parameter of the // generic method, because the C# compiler has enough // context to determine that information for you. // Display the first structure found. Console.WriteLine("Found: X = {0}, Y = {1}", first.X, first.Y); } // This method implements the test condition for the Find // method. private static bool ProductGT10(Point p) { if (p.X * p.Y > 100000) { return true; } else { return false; } } }/* This code example produces the following output:Found: X = 275, Y = 395 */
{
byte[] byts = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
byte ret = Array.Find<byte>(byts, new Predicate<byte>(FindByte));
byte[] rets = Array.FindAll<byte>(byts, new Predicate<byte>(FindByte));
}bool FindByte(byte b)
{
if (b == 13) return true;
if (b == 10) return true;
return false;
}
textBox1.Text = Array.Find<int>(aa, ProductGT10).ToString(); private static bool ProductGT10(int bb)
{
if (bb > 4)
{
return true;
}
else
{
return false;
}
}
public static T Find<T> (
T[] array,
Predicate<T> match
)
类型参数
T
数组元素的类型。
参数
array
要搜索的从零开始的一维 Array。match
Predicate,定义要搜索的元素的条件。返回值
如果找到与指定谓词定义的条件匹配的第一个元素,则为该元素;否则为类型 T 的默认值。using System;
using System.Drawing;public class Example
{
public static void Main()
{
// Create an array of five Point structures.
Point[] points = { new Point(100, 200),
new Point(150, 250), new Point(250, 375),
new Point(275, 395), new Point(295, 450) }; // To find the first Point structure for which X times Y
// is greater than 100000, pass the array and a delegate
// that represents the ProductGT10 method to the Shared
// Find method of the Array class.
Point first = Array.Find(points, ProductGT10); // Note that you do not need to create the delegate
// explicitly, or to specify the type parameter of the
// generic method, because the C# compiler has enough
// context to determine that information for you. // Display the first structure found.
Console.WriteLine("Found: X = {0}, Y = {1}", first.X, first.Y);
} // This method implements the test condition for the Find
// method.
private static bool ProductGT10(Point p)
{
if (p.X * p.Y > 100000)
{
return true;
}
else
{
return false;
}
}
}/* This code example produces the following output:Found: X = 275, Y = 395
*/