PDA

View Full Version : آموزش LINQ (قسمت پنجم)



zkazemi
چهارشنبه 21 مرداد 1388, 14:00 عصر
عملگر های جمعی
توابع جمعی توابعی هستند که بر روی مجموعه ای از داده ها کار محاسباتی انجام می دهند تا یک نتیجه واحد رابه عنوان خروجی باز گشت دهند.ازقبیل مجموع یا تعداد روی مقادیر یک المان. در LINQ هفت تابع جمعی وجود دارد که عبارتند از :aggregate,average,count,longCount,Max,Min ,sum
تابع Average
این تابع میانگین یک مجموعه از اعداد را محاسبه و بر می گرداند.این تابع بر روی انواع داده ها مانند Decimal ,integer ,… کار می کند.
مثال :



List<int> quantity = new List<int> {99, 48, 120, 73, 101, 81, 56};
double average = quantity.Average();

listbox1.items.add(average);

در مثال بالا میانگین هفت عدد در لیست محاسبه می شود. این نوع محاسبه می تواند برروی قیمت واحد کالا ها نیز باشد. به مثال زیر دقت کنید.



var query =
from od in orderdetail
where od.SalesOrderID == 43662
select od.UnitPrice;
listbox1.Items.Add(query.Average());


هم چنین می تونید کد بالا رو به صورت زیر نیز بنویسید:



var query =
from od in orderdetail
where od.SalesOrderID == 43662
select od;

listbox1.Items.Add(query.Average(orderDetail => orderDetail.UnitPrice));

عملگر count
این عملگر تعداد المان ها در مجموعه داده شده به آن را بر می گرداند.حداکثر مقدار برگشتی از این تابع int32.MaxValue است که برزگترین مقدار ممکن از یک int32 می باشد.مثال زیر عملگر count را نشان می دهد در لیست هفت المان وجود دارد که مقدار خروجی از این تابع مقدار 7 در این مثال است.



List<int> quantity = new List<int> {99, 48, 120, 73, 101, 81, 56};
int cnt = quantity.Count;

listbox1.items.add(cnt);

در مثال زیر تعداد آیتم های یک سفارش خرید خاص محاسبه می شود :



var query =
from od in orderdetail
where od.SalesOrderID == 43662
select od.UnitPrice;

listbox1.Items.Add(query.Count());