عمليات تجميع LINQ

عملية التجميع تحسب قيمة واحدة من مجموعة من القيم. مثال لعملية التجميع هو حساب متوسط درجة الحرارة اليومية من قيم درجات الحرارة اليومية لشهر.

يبين الرسم التوضيحي التالي نتائج عمليتان تجميع مختلفة على تسلسل أرقام. العملية الأولى تجمع الأرقام. العملية الثانية تقوم بإرجاع القيمة القصوى في التسلسل.

عمليات تجميع LINQ

يتم سرد أساليب مشغل الاستعلامات القياسي التي تنفذ عمليات تجميع في المقطع التالي.

الأساليب

اسم الأسلوب

الوصف

تعبير استعلام بناء جمل #C

تعبير استعلام Visual Basicلبناء جمل #C

معلومات إضافية

تجميع

ينفذ عملية تجميع مخصصة على قيم مجموعة.

غير متوفر.

غير متوفر.

Enumerable.Aggregate

Queryable.Aggregate

المتوسط

يقوم بحساب القيمة المتوسطة لمجموعة من القيم.

غير متوفر.

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

تعداد

يقوم بحساب العناصر في مجموعة، اختياريا فقط تلك العناصر التي تلبي وظيفة المسند.

غير متوفر.

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

أمثلة تعبير استعلام بناء الجملة

المتوسط

مثال التعليمات البرمجية التالي يستخدم البند Aggregate Into Average في Visual Basic لحساب متوسط درجة الحرارة في صفيف أرقام يمثل درجات الحرارة.


        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

تعداد

مثال التعليمات البرمجية يستخدم البند Aggregate Into Count في Visual Basic لحساب عدد القيم في صفيف التي هي أكبر من أو تساوي 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 في Visual Basic لحساب عدد القيم في صفيف.


        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 في Visual Basic لحساب أعلى درجة حرارة في صفيف أرقام يمثل درجات الحرارة.


        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 في Visual Basic لحساب أدنى درجة حرارة في صفيف أرقام يمثل درجات الحرارة.


        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 في Visual Basic لحساب مقدار المصاريف الإجمالية من صفيف قيم يمثل المصاريف.


        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

لمزيد حول كيفية تنفيذ عمليات تجميع

Topic Location
كيفية القيام بما يلي: الاستعلام عن الملف الأكبر أو ملفات في شجرة دليل (LINQ) dv_Linq
كيفية القيام بما يلي: حساب قيم في عمود في ملف نص LINQ) CSV) dv_Linq
كيفية القيام بما يلي: استعلام عن إجمالي عدد وحدات البايت في مجموعة من المجلدات (LINQ) dv_Linq
كيفية القيام بما يلي: العثور على القيمة الأدنى أو العظمى في نتيجة الاستعلام عن طريق استخدام Visual Basic) LINQ) dv_vbalr
كيفية القيام بما يلي: حساب، مجموع أو متوسط البيانات عن طريق استخدام Visual Basic) LINQ) dv_vbalr

راجع أيضًا:

المرجع

عبارة التجميعية (Visual Basic)

System.Linq

المبادئ

نظرة عامة على مشغلات استعلام قياسية