Sdílet prostřednictvím


Řazení dat

Operaci řazení objednávky prvky pořadí na základě jednoho nebo více atributů.První kritérium řazení provádí primární řazení prvků.Zadáním druhé kritérium řazení můžete seřadit prvky v rámci každé skupiny primární řazení.

Následující obrázek ukazuje výsledky operace podle abecedy v posloupnosti znaků.

LINQ – operace řazení

V následující části jsou uvedeny metody operátor standardního dotazu, které data seřadit.

Metody

Název metody

Description

Syntaxi výrazu dotazu C#

Visual BasicSyntaxe dotazu výraz

Další informace

Řadit podle

Seřadí hodnoty ve vzestupném pořadí.

orderby

Order By

Enumerable.OrderBy

Queryable.OrderBy

OrderByDescending

Seřadí hodnoty v sestupném pořadí.

orderby … descending

Order By … Descending

Enumerable.OrderByDescending

Queryable.OrderByDescending

ThenBy

Provádí sekundární seřadit ve vzestupném pořadí.

orderby …, …

Order By …, …

Enumerable.ThenBy

Queryable.ThenBy

ThenByDescending

Provádí sekundární seřadit v sestupném pořadí.

orderby …, … descending

Order By …, … Descending

Enumerable.ThenByDescending

Queryable.ThenByDescending

Změnit směr

Změní pořadí prvků v kolekci.

Nelze použít

Nelze použít

Enumerable.Reverse<TSource>

Queryable.Reverse<TSource>

Příklady syntaxe výraz dotazu

Bb546145.collapse_all(cs-cz,VS.110).gifPříklady primární řazení

Bb546145.collapse_all(cs-cz,VS.110).gifPrimární vzestupné řazení

Následující příklad demonstruje použití orderby (Order By v jazyce Visual Basic) klauzule dotazu LINQ k řazení řetězce v poli Délka řetězce ve vzestupném pořadí.


        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
            */

Bb546145.collapse_all(cs-cz,VS.110).gifPrimární sestupné řazení

Následující příklad demonstruje použití orderbydescending (Order By Descending v jazyce Visual Basic) klauzule dotazu LINQ k jejich první písmeno v sestupném pořadí řazení řetězce.


        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
            */

Bb546145.collapse_all(cs-cz,VS.110).gifSekundární příklady řazení

Bb546145.collapse_all(cs-cz,VS.110).gifSekundární vzestupné řazení

Následující příklad demonstruje použití orderby (Order By v jazyce Visual Basic) klauzule dotazu LINQ provádět primární a sekundární řazení řetězce v poli.Řetězce jsou seřazeny především podle délky a druhotně první písmeno řetězec, obě ve vzestupném pořadí.


        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
            */

Bb546145.collapse_all(cs-cz,VS.110).gifSekundární sestupné řazení

Následující příklad demonstruje použití orderbydescending (Order By Descending v jazyce Visual Basic) klauzule LINQ dotazu provést primární seřadit ve vzestupném pořadí a sekundární řazení sestupně.Řetězce jsou seřazeny především podle délky a druhotně první písmeno řetězec.


        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
            */

Viz také

Úkoly

Jak: výsledky Klauzule Join (Příručka programování C#)

Jak: řazení výsledků dotazu pomocí LINQ (Visual Basic)

Jak: řazení nebo filtrování dat Text každé slovo nebo pole (LINQ)

Referenční dokumentace

klauzule řadit podle (C#-Reference)

ORDER klauzule (Visual Basic)

System.Linq

Koncepty

Přehled operátorů standardní dotaz