This print for content only-size & color not accurate 7" X 9-1/4" / casebound / malloy


// Build the necessary Func delegates using anonymous methods



Download 21,46 Mb.
Pdf ko'rish
bet911/1830
Sana28.09.2021
Hajmi21,46 Mb.
#188411
1   ...   907   908   909   910   911   912   913   914   ...   1830
Bog'liq
[book] [en] Pro C# 2008 and the NET 3.5 Platform Fourth Edition

// Build the necessary Func<> delegates using anonymous methods.

Func searchFilter = new Func(Filter);

Func itemToProcess = new Func(ProcessItem);

// Pass the delegates into the methods of Enumerable.

var subset = currentVideoGames

.Where(searchFilter).OrderBy(itemToProcess).Select(itemToProcess);

// Print out the results.

foreach (var game in subset)

Console.WriteLine("Item: {0}", game);

Console.WriteLine();

}

// Delegate targets.

public static bool Filter(string s) {return s.Length > 6;}

public static string ProcessItem(string s) { return s; }

}

We can test this iteration of our string processing logic by calling this method within Main()



method of the Program class as follows:

VeryComplexQueryExpression.QueryStringsWithRawDelegates();

If you were to now run the application to test each possible approach, it should not be too sur-

prising that the output is identical regardless of the path taken. Keep the following points in mind

regarding how LINQ query expressions are represented under the covers:

• Query expressions are created using various C# query operators.

• Query operators are simply shorthand notations for invoking extension methods defined by

the System.Linq.Enumerable type.

• Many methods of Enumerable require delegates (Func<> in particular) as parameters.

C H A P T E R   1 4  



A N   I N T R O D U C T I O N  TO   L I N Q



462

8849CH14.qxd  9/26/07  12:30 PM  Page 462




• Under C# 2008, any method requiring a delegate parameter can instead be passed a lambda

expression.

• Lambda expressions are simply anonymous methods in disguise (which greatly improve

readability).

• Anonymous methods are shorthand notations for allocating a raw delegate and manually

building a delegate target method.

Whew! That might have been a bit deeper under the hood than you wish to have gone, but I

hope this discussion has helped you understand what the user-friendly C# query operators are

actually doing behind the scenes. Let’s now turn our attention to the operators themselves.


Download 21,46 Mb.

Do'stlaringiz bilan baham:
1   ...   907   908   909   910   911   912   913   914   ...   1830




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish