14-10-12, 04:26 PM
كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .السلام عليكم ورحمة الله وبركاته .
كنا قد تحدثنا في موضوع سابق عن Anonymous Methods التي تمكننا من كتابة كود الدالة في مكان استدعاءها ما دمنا لن نستدعيها سوى مرة واحدة فقط ، لنفترض مصفوفة نقوم فيها بالبحث عن الأعداد التي تقبل القسمة على 2 :
C#:
كود :
static void TraditionalDelegateSyntax()
{
List<int> list = new List<int>();
list.AddRange(new int[] { 20, 1, 4, 8, 9, 44 });
Predicate<int> callback = new Predicate<int>(IsEvenNumber);
List<int> evenNumbers = list.FindAll(callback);
Console.WriteLine("Here are your even numbers:");
foreach (int evenNumber in evenNumbers)
{
Console.Write("{0}\t", evenNumber);
}
}
static bool IsEvenNumber(int i)
{
return (i % 2) == 0;
}
C#:
كود :
List<int> list = new List<int>();
list.AddRange(new int[] { 20, 1, 4, 8, 9, 44 });
List<int> evenNumbers = list.FindAll(delegate(int i)
{ return (i % 2) == 0; } );
Console.WriteLine("Here are your even numbers:");
foreach (int evenNumber in evenNumbers)
{
Console.Write("{0}\t", evenNumber);
}
كود :
X => f(X)
كود :
(int i) => (i % 2) == 0;
C#:
كود :
List<int> list = new List<int>();
list.AddRange(new int[] { 20, 1, 4, 8, 9, 44 });
List<int> evenNumbers = list.FindAll(i => (i % 2) == 0);
Console.WriteLine("Here are your even numbers:");
foreach (int evenNumber in evenNumbers)
{
Console.Write("{0}\t", evenNumber);
}
http://vb4arb.com/vb/showthread.php?703