توابع توسعه
بسم الله الرحمن الرحیم
ب
آموزش Lambda
بسم الله الرحمن الرحیم
بسم الله الرحمن الرحیم
مشاهده تمامی آموزش های دوره LINQ
آموزش LINQ
در این بخش قصد دارم به معرفی عبارات لامبدا بپردازم انشالله که مفید واقع گردد.
در حالت عادی ما یک تابع را به صورت زیر تعریف می کنیم
public void Load(object parameter)
{
.....
}
این تابع دارای بخش های زیر است:
- میدان دید تابع public
- خروجی تابع void
- نام تابع load
- پارامتر ورودی تابع parameter
- بدنه تابع
حال در تابع هایی که به وسیله عبارت لامبدا تعریف می شوند بخش های زیر فقط وجود دارد:
- پارامترها
- بدنه تابع
(int x) => x + 1;
آموزش Linq (بخش دوم)
بسم الله الرحمن الرحیم
مشاهده تمامی آموزش های دوره LINQ
آموزش LINQ
بخش دوم
LINQ
در این بخش عملگرهای استاندارد و اصلی لینک به همراه توابع تجمعی را آموزش خواهم داد.
منباب اطلاع: شما با استفاده از لینک می توانید بر روی نوع های جنریک های مختلف کوئری بزنید مثال:
IEnumerable<Customer> customerQuery = from cust in customers where cust.City == "London" select cust;
foreach (Customer customer in customerQuery)
{
Console.WriteLine(customer.LastName + ", " + customer.FirstName);
}
بحثی در لینک وجود دارد به نام اجرای با تعویق، در واقع به این معنی است که هنگامی که شما یک دستور لنیک را می نویسید آن را فقط ایجاد می کنید و وقتی آن را با foreach می خوانید در آن زمان اجرا می کنید. متغییر پرس وجو هرگز نتایج را نگهداری نمی کند یعنی اگر شما یک دستور را بر روی پایگاه داده اجرا کنید و پایگاه داده دائما تغییر کند نتایج شما هم به ازای هر بار اجرا شدن (منظور از اجرا شدن مثلا همان دستور foreach است) نتایج متفاوتی خواهد داشت.
بعضی دستورات لینک صریحا اجرا می شوند مثل First و Average ،Max ،Count چون باید اجرا شوند تا بتوانند نتیجه را مشخص کنند و این نوع دستورات یک مقدار بر می گرداند به این عملگر ها، عملگرهای تجمعی می گویند.
آموزش Linq (بخش اول)
بسم الله الرحمن الرحیم
مشاهده تمامی آموزش های دوره LINQ
آموزش LINQ
بخش اول
LINQ
در این بخش قصد دارم به معرفی LINQ بپردازم و آن را به صورت مختصر و درحین حال کامل آموزش دهم
همان طور که می دانید شما برای گرفتن کوئری و به عبارتی پرس و جو بر روی منبع های مختلف مثل XML,SQL و ... نیاز به آموزش زبان های مختلف دارید که مشکل بسیار بزرگی است راه حل ارائه گردیده استفاده از زبانی است که از همه این منبع ها پشتیبانی نماید. لینک در VS2008 و .Net 3.5 ارائه گردید و linq مخفف عبارت Language Integrated Query است.
برای تئوری همین کافی است.
لطفا از این پس LINQ را لینک تلفظ نمایید.
در اجرای دستورات لینک سه بخش مورد استفاده است:
- منبع داده
- پرس و جو
- اجرا
مثال:
int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
var numQuery = from num in numbers where (num % (0 == 2 select num;
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}