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