English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في الفصل السابق، تعرفت على جملة LINQ. هنا، ستعرف جملة الطريقة.
استخدام جملة الطريقة (أيضاً يُسمى الجملة المتصلة) يتضمن استخدام الطرق الموسعة الموجودة في الفئات Static Enumerable أو Queryable، بشكل مشابه لما تقوم به عند استدعاء الطرق الموسعة لأي فئة.
يحول الماكينيست النصوص إلى جملة طلب عند التجميع.
فيما يلي مثال على استعلام LINQ بالجملة يعود بجمع من النصوص يحتوي على كلمة "Tutorials".
// المجموعات النصية IList<string> stringList = new List<string>() {}} "C# Tutorials", "VB.NET Tutorials", "تعلم C++", "MVC Tutorials", "Java" }; // جملة الأساليب LINQ var result = stringList.Where(s => s.Contains("Tutorials"));
يوضح الشكل التالي هيكل جملة الأساليب LINQ.
كما هو موضح في الشكل السابق، تشمل جملة الأساليب امتدادات اللغة Lambda. يتم تعريف امتداد Where في فئة Enumerable.
إذا نظرت إلى توقيع استدعاء Where امتداد، يمكنك ملاحظة أن Where يستقبل وكيل predicate Func<Student,bool> يعني أنه يمكنك تقديم أي دالة تمثل وكيلًا تأخذ كائن Student كمعامل يدخل ويقوم بتقديم قيمة منطقية، كما هو موضح في الشكل التالي. يتم استخدام التعبير اللامسي كوكيل يتم تقديمه إلى جملة Where. في الفصل التالي سنتعلم عن التعبيرات اللامسي.
في المثال التالي، يتم عرض كيفية استخدام جملة الأساليب LINQ مع مجموعة IEnumerable <T>.
// مجموعة الطلاب IList<Student> studentList = new List<Student>() { new Student() { StudentID = 1, StudentName = "John", Age = 13} , new Student() { StudentID = 2, StudentName = "Moin", Age = 21 } , new Student() { StudentID = 3, StudentName = "Bill", Age = 18 } , new Student() { StudentID = 4, StudentName = "Ram", Age = 20 }, new Student() { StudentID = 5, StudentName = "Ron", Age = 15 } }; // ايجاد طلاب المراهقين باستخدام قواعد النصوص LINQ var teenAgerStudents = studentList.Where(s => s.Age > 12 && s.Age < 20) .ToList<Student>();
// مجموعة الطلاب Dim studentList = New List(Of Student) From { New Student() With {.StudentID = 1, .StudentName = "John", .Age = 13}, New Student() With {.StudentID = 2, .StudentName = "Moin", .Age = 21}, New Student() With {.StudentID = 3, .StudentName = "Bill", .Age = 18}, New Student() With {.StudentID = 4, .StudentName = "Ram", .Age = 20}, New Student() With {.StudentID = 5, .StudentName = "Ron", .Age = 15} } // ايجاد طلاب المراهقين باستخدام قواعد النصوص LINQ Dim teenAgerStudents As IList(Of Student) = studentList.Where(Function(s) s.Age > 12 And s.Age < 20) .ToList()
كما يُقالقواعد النصوصمثل استدعاء طريقة توسيع.
LINQقواعد النصوصالنصوص
المعروف أيضًا بـFluent Syntax (نصوص متسلسلة)، لأنه يسمح بتسلسل من طلبات التوسيع.