مشخصات مقاله
-
1214
-
0.0
-
3512
-
0
-
0
آموزش عملگرهای Aggregate در Linq
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
عملیات محاسبه ی یک مقدار از یک مجموعه (عملگرهای Aggregate)
عملیات Aggregate یک مقدار را از دنباله ی ورودی عدد محاسبه کرده و سپس خروجی را در قالب یک عدد واحد برمی گرداند (در واقع یک مقدار را از لیست مقادیر محاسبه و واکشی می کند). به عنوان مثال می توان به محاسبه ی میانگین دمای روزانه ی ماه از مجموع مقادیر دمای روزانه ی یک ماه اشاره کرد.
تصویر زیر نتیجه ی دو عملیات مختلف Aggregate را بر روی دنباله ای از اعداد نمایش می دهد. اولین عملیات حاصل جمع اعداد را محاسبه می کند. دومین عملیات بزرگترین عدد را از مجموعه استخراج می کند.
|
اسم متد |
شرح |
ساختار نگارشی متد در زبانC# |
ساختار نگارشی متد در زبان VB |
اطلاعات بیشتر |
|
Aggregate |
یک مقدار را از مجموعه مقادیر ورودی محسابه کرده و به عنوان خروجی استخراج می کند (عملیات تجمعی بر روی لیستی از مقادیر اجرا می کند). |
پشتیبانی نمی شود. |
پشتیبانی نمی شود. |
Enumerable.Aggregate Queryable.Aggregate |
|
Average |
میانگین یک مجموعه مقدار را محاسبه می کند. |
پشتیبانی نمی شود. |
Aggregate …In …Into Average() |
Enumerable.Average Queryable.Average |
|
Count |
المان های موجود در یک مجموعه را (در صورت تمایل بر اساس شرط معینی) می شمارد. |
پشتیبانی نمی شود. |
Aggregate …In …Into Count() |
Enumerable.Count Queryable.Count |
|
LongCount |
المان های یک مجموعه ی بسیار بزرگ را (در صورت تمایل، تنها آن اعدادی که شرط معینی را برآورده کنند) می شمارد. |
پشتیبانی نمی شود. |
Aggregate …In …Into LongCount() |
Enumerable.LongCount Queryable.LongCount |
|
Max |
بزرگترین مقدار را از یک لیست واکشی می کند. |
پشتیبانی نمی شود. |
Aggregate …In …Into Max() |
Enumerable.Max Queryable.Max |
|
Min |
کوچکترین مقدار موجود در مجموعه را به عنوان خروجی برمی گرداند. |
پشتیبانی نمی شود. |
Aggregate …In …Into Min() |
Enumerable.Min Queryable.Min |
|
Sum |
حاصل جمع مقادیر یک مجموعه را محاسبه کرده و به عنوان خروجی بازیابی می کند. |
پشتیبانی نمی شود. |
Aggregate …In …Into Sum() |
Enumerable.Sum Queryable.Sum |
مثال
Average
کد زیر با استفاده از عبارت Aggregate Into Average در زبان VB، میانگین دما را از مجموعه ی ورودی که آرایه ای از اعداد می باشد، محاسبه می کند.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim avg = Aggregate temp In temperatures Into Average()
' Display the result.
MsgBox(avg)
' This code produces the following output:
' 76.65
Count
کد زیر از دستور Aggregate Into Count برای بدست آوردن تعداد اعداد موجود در آرایه که مقدار آن ها بزرگتر یا مساوی 80 می باشد، استفاده می کند.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim highTemps As Integer = Aggregate temp In temperatures Into Count(temp >= 80)
' Display the result.
MsgBox(highTemps)
' This code produces the following output:
' 3
LongCount
کد زیر با بهره گیری از دستور Aggregate Into LongCount در زبان VB، تعداد اعداد موجود در یک آرایه را بدست می آورد.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim numTemps As Long = Aggregate temp In temperatures Into LongCount()
' Display the result.
MsgBox(numTemps)
' This code produces the following output:
' 6
Max
مثال زیر از عبارت Aggregate Into Max برای بدست آوردن مقدار بیشینه (مقدار حداکثر دما) در یک آرایه بهره می گیرد.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim maxTemp = Aggregate temp In temperatures Into Max()
' Display the result.
MsgBox(maxTemp)
' This code produces the following output:
' 88.6
Min
مثال زیر با بهره گیری از دستور Aggregate Into Min در زبان VB، مقدار کمینه (حداقل دما) را در یک آرایه بدست می آورد.
Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}
Dim minTemp = Aggregate temp In temperatures Into Min()
' Display the result.
MsgBox(minTemp)
' This code produces the following output:
' 68.5
Sum
کد زیر از دستور Aggregate Into Sum در زبان VB برای محاسبه ی حاصل جمع مجموعه مقادیر یک آرایه استفاده می کند.
Dim expenses() As Double = {560.0, 300.0, 1080.5, 29.95, 64.75, 200.0}
Dim totalExpense = Aggregate expense In expenses Into Sum()
' Display the result.
MsgBox(totalExpense)
' This code produces the following output:
' 2235.2