مشاركة عبر


فرز البيانات

عملية الفرز ترتب عناصر التسلسل استناداً إلى سمة أو أكثر. ينفذ معيار الفرز الأول فرز أساسي على العناصر. بتحديد معيار فرز ثاني يمكنك فرز العناصر داخل كل مجموعة فرز أساسي.

يبين الرسم التوضيحي التالي نتائج عملية فرز أبجدي على تسلسل من الأحرف.

عملية فرز LINQ

يتم سرد أساليب عمليات الاستعلام القياسية التي تفرز البيانات في المقطع التالي.

الأساليب

اسم الأسلوب

الوصف

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

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

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

OrderBy

تفرز القيم في ترتيب تصاعدي.

orderby

Order By

Enumerable.OrderBy

Queryable.OrderBy

OrderByDescending

تفرز القيم في ترتيب تنازلي.

orderby … descending

Order By … Descending

Enumerable.OrderByDescending

Queryable.OrderByDescending

ThenBy

تجري فرز ثانوي في ترتيب تصاعدي.

orderby …, …

Order By …, …

Enumerable.ThenBy

Queryable.ThenBy

ThenByDescending

تجري فرز ثانوي في ترتيب تنازلي.

orderby …, … descending

Order By …, … Descending

Enumerable.ThenByDescending

Queryable.ThenByDescending

Reverse

تعكس ترتيب العناصر في مجموعة.

غير متوفر.

غير متوفر.

Enumerable.Reverse<TSource>

Queryable.Reverse<TSource>

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

أمثلة فرز أساسي

فرز تصاعدي أساسي

يوضح المثال التالي كيفية استخدام بند orderby (Order By في Visual Basic) في استعلام LINQ لفرز السلاسل في صفيف بواسطة طول سلسلة، في ترتيب تصاعدي.


        Dim words = {"the", "quick", "brown", "fox", "jumps"}

        Dim sortQuery = From word In words 
                        Order By word.Length 
                        Select word

        Dim sb As New System.Text.StringBuilder()
        For Each str As String In sortQuery
            sb.AppendLine(str)
        Next

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output:

        ' the
        ' fox
        ' quick
        ' brown
        ' jumps


            string[] words = { "the", "quick", "brown", "fox", "jumps" };

            IEnumerable<string> query = from word in words
                                        orderby word.Length
                                        select word;

            foreach (string str in query)
                Console.WriteLine(str);

            /* This code produces the following output:

                the
                fox
                quick
                brown
                jumps
            */

فرز تنازلي أساسي

يوضح المثال التالي كيفية استخدام بند orderby descending (Order By Descending في Visual Basic) في استعلام LINQ لفرز سلاسل بواسطة الحرف الأول الخاص بهم في ترتيب تنازلي.


        Dim words = {"the", "quick", "brown", "fox", "jumps"}

        Dim sortQuery = From word In words 
                        Order By word.Substring(0, 1) Descending 
                        Select word

        Dim sb As New System.Text.StringBuilder()
        For Each str As String In sortQuery
            sb.AppendLine(str)
        Next

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output:

        ' the
        ' quick
        ' jumps
        ' fox
        ' brown


            string[] words = { "the", "quick", "brown", "fox", "jumps" };

            IEnumerable<string> query = from word in words
                                        orderby word.Substring(0, 1) descending
                                        select word;

            foreach (string str in query)
                Console.WriteLine(str);

            /* This code produces the following output:

                the
                quick
                jumps
                fox
                brown
            */

أمثلة فرز ثانوي

فرز تصاعدي ثانوي

يوضح المثال التالي كيفية استخدام بند orderby (Order By في Visual Basic) في استعلام LINQ لتنفيذ فرز أساسي و ثانوي لسلاسل في صفيف. يتم فرز السلاسل بشكل أساسي عن طريق الطول و ثانوياً عن طريق الحرف الأول من السلسلة، كلاهما في ترتيب تصاعدي.


        Dim words = {"the", "quick", "brown", "fox", "jumps"}

        Dim sortQuery = From word In words 
                        Order By word.Length, word.Substring(0, 1) 
                        Select word

        Dim sb As New System.Text.StringBuilder()
        For Each str As String In sortQuery
            sb.AppendLine(str)
        Next

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output:

        ' fox
        ' the
        ' brown
        ' jumps
        ' quick


            string[] words = { "the", "quick", "brown", "fox", "jumps" };

            IEnumerable<string> query = from word in words
                                        orderby word.Length, word.Substring(0, 1)
                                        select word;

            foreach (string str in query)
                Console.WriteLine(str);

            /* This code produces the following output:

                fox
                the
                brown
                jumps
                quick
            */

فرز تنازلي ثانوي

يوضح المثال التالي كيفية إلى استخدام بند orderby descending (Order By Descending في Visual Basic) في استعلام LINQ لإجراء فرز أساسي، في ترتيب تصاعدي، و فرز ثانوي في ترتيب تنازلي. يتم فرز السلاسل بشكل أساسي عن طريق الطول و ثانوياً عن طريق الحرف الأول من السلسلة.


        Dim words = {"the", "quick", "brown", "fox", "jumps"}

        Dim sortQuery = From word In words 
                        Order By word.Length, word.Substring(0, 1) Descending 
                        Select word

        Dim sb As New System.Text.StringBuilder()
        For Each str As String In sortQuery
            sb.AppendLine(str)
        Next

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output:

        ' fox
        ' the
        ' quick
        ' jumps
        ' brown


            string[] words = { "the", "quick", "brown", "fox", "jumps" };

            IEnumerable<string> query = from word in words
                                        orderby word.Length, word.Substring(0, 1) descending
                                        select word;

            foreach (string str in query)
                Console.WriteLine(str);

            /* This code produces the following output:

                the
                fox
                quick
                jumps
                brown
            */

لمزيد حول كيفية القيام بفرز البيانات

Topic Location
كيفية القيام بما يلي: فرز أو تصفية بيانات نص بواسطة أي كلمة أو حقل (LINQ) dv_Linq
جملة الترتيب حسب ( مرجع C# ) dv_csref
كيفية القيام بما يلي: ترتيب نتائج جملة Join (دليل البرمجة لـ #C) dv_csref
كيفية القيام بما يلي: افرز نتائج الاستعلام باستخدام ( LINQ (Visual Basic dv_vbalr

راجع أيضًا:

المرجع

جملة orderby (C# مرجع)

ترتيب حسب عبارة (Visual Basic)

System.Linq

المبادئ

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