English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يقوم محساب التفرع بتقسيم السلسلة (المجموعة) إلى جزأين ويعود إلى الجزء الأول.
الطريقة | الوصف |
---|---|
Skip | من بداية السلسلة، يقوم بالقفز عن العناصر إلى الموضع المحدد. |
SkipWhile | يقوم بالقفز عن العناصر بناءً على الشرط، حتى لا يرضي العنصر. إذا لم يرضي العنصر الأول الشرط نفسه، فإنه يقوم بالقفز عن 0 عنصر ويعود إلى جميع العناصر في السلسلة. |
Take | من بداية السلسلة، يأخذ العنصر إلى الموضع المحدد. |
TakeWhile | من العنصر الأول يعود إلى العنصر، حتى لا يرضي الشرط. إذا لم يرضي العنصر الأول الشرط نفسه، فإنه يعود إلى مجموعة فارغة. |
تقوم طريقة Skip() بتخطي عدد معين من العناصر من البداية، والعودة إلى العناصر المتبقية.
IList<string> strList = new List<string>(){ "One", "Two", "Three", "Four", "Five" }; تعريفُ newList = strList.Skip(2); foreach(var str in newList) Console.WriteLine(str);
ثلاثة أربعة خمسة
لا يدعم بناء الاستعلام في C# ناشرين Skip و SkipWhile. ولكن يمكنك استخدام طرق Skip/SkipWhile للاستعلامات أو تعبئة الاستعلام بالكامل في أقواس، ثم استدعاء Skip/SkipWhile.
مثال التالي يوضح ناشر skip في بناء الاستعلام
Dim skipResult = From s In studentList تخطي 3 اختر s
كما يوحي الاسم، ستقوم إضافة SkipWhile() في LINQ بتخطي العناصر في المجموعة حتى يصبح الشرط المحدد صحيحًا. بمجرد أن يصبح شرط أي عنصر خطأًا، سيقوم بإرجاع مجموعة جديدة تحتوي على جميع العناصر المتبقية.
يوجد نوعان من طريقة SkipWhile() المعدلة. الطريقة الأولى تأخذ بيانات الحكم من نوع Func<TSource, bool>، والطريقة الثانية تأخذ بيانات الحكم من نوع Func<TSource, int, bool> عبر بيانات الحكم بالفهرس.
في المثال التالي، سيقوم طريقة SkipWhile() بتخطي جميع العناصر حتى يجد نصًا طوله يساوي أو أكبر من 4 حروف.
مثال: استخدام طريقة SkipWhile() في C# لتخطي العناصر التي طولها أقل من 4، والعودة إلى العناصر التالية
IList<string> strList = جديد List<string>() { "واحد" "إثنين" "ثلاثة" "أربعة" "خمسة" "ستة" تعريفُ الـresultList = strList.SkipWhile(s => s.Length < 4); للدوران (string str في resultList) Console.WriteLine(str);
ثلاثة أربعة خمسة ستة
في المثال السابق، بسبب أن طول الأعمدة الأولية هو أقل من 3، سيقوم SkipWhile() بتخطي الأعمدة الأولية، وسيجد العنصر الثالث الذي طولُه يساوي أو أكبر من 4. بمجرد إيجاد أي عنصر طوله يساوي أو أكبر من 4 حروف، لن يمرر أي عنصر آخر، حتى لو كان أقل من 4 حروف.
الآن، انظر إلى المثال التالي، حيث لن يمرر SkipWhile () أي عنصر، لأن شرط的第一个 عنصر هو خطأ.
IList<string> strList = جديد List<string>() { "ثلاثة" "واحد" "إثنين" "أربعة" "خمسة" "ستة" تعريفُ الـresultList = strList.SkipWhile(s => s.Length < 4); للدوران (string str في resultList) Console.WriteLine(str);
ثلاثة واحد إثنين أربعة خمسة ستة
تقديم SkipWhile ثاني إعادة تعريف يمر بفاصلة العددية للعنصر. انظر المثال أدناه
IList<string> strList = جديد List<string>() { "واحد" "إثنين" "ثلاثة" "أربعة" "خمسة" "ستة" تعريف result = strList.SkipWhile((s, i) => s.Length > i); للدوران (string str في result) Console.WriteLine(str);
خمسة ستة
في المثال السابق، تعبير lambda يشمل العنصر والفاصلة العددية للعنصر كمعامل. سيقوم بتخطي جميع العناصر حتى يكون طول العنصر أكبر من الفاصلة العددية.
نحوية استعلام C# لا تدعم عمليات Skip & SkipWhile. ولكن، يمكنك استخدام Skip/SkipWhile للمتغيرات الاستعلامية، أو وضع استعلام كامل داخل أقواس، ثم دعوة Skip/SkipWhile ().
تعريف strList = جديد List(Of string) من { "واحد" "إثنين" "ثلاثة" "أربعة" "خمسة" "ستة" تعريف skipWhileResult = من s في studentList تخطي While s.Length < 4 اختر s
ثلاثة أربعة خمسة ستة