فرز البيانات
عملية الفرز ترتب عناصر التسلسل استناداً إلى سمة أو أكثر. ينفذ معيار الفرز الأول فرز أساسي على العناصر. بتحديد معيار فرز ثاني يمكنك فرز العناصر داخل كل مجموعة فرز أساسي.
يبين الرسم التوضيحي التالي نتائج عملية فرز أبجدي على تسلسل من الأحرف.
يتم سرد أساليب عمليات الاستعلام القياسية التي تفرز البيانات في المقطع التالي.
الأساليب
اسم الأسلوب |
الوصف |
تعبير استعلام بناء جمل #C |
تعبير استعلام Visual Basicلبناء جمل #C |
معلومات إضافية |
---|---|---|---|---|
OrderBy |
تفرز القيم في ترتيب تصاعدي. |
orderby |
Order By |
|
OrderByDescending |
تفرز القيم في ترتيب تنازلي. |
orderby … descending |
Order By … Descending |
|
ThenBy |
تجري فرز ثانوي في ترتيب تصاعدي. |
orderby …, … |
Order By …, … |
|
ThenByDescending |
تجري فرز ثانوي في ترتيب تنازلي. |
orderby …, … descending |
Order By …, … Descending |
|
Reverse |
تعكس ترتيب العناصر في مجموعة. |
غير متوفر. |
غير متوفر. |
أمثلة تعبير استعلام بناء الجملة
أمثلة فرز أساسي
فرز تصاعدي أساسي
يوضح المثال التالي كيفية استخدام بند 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
*/
لمزيد حول كيفية القيام بفرز البيانات
راجع أيضًا:
المرجع
ترتيب حسب عبارة (Visual Basic)