Monday, February 25, 2013

Working with bunch of items in small chunks using yield

Sometimes, we found ourselves in situations we we have to deal with large bunch of items and the code we are dealing with is unable to work with single large list. We then break large list into small chunks and process these chunks one by one. I found myself in such situations couple of times recently. So I decided to write some code which is efficient and is reusable.

Yield is a very useful keyword when worked with a collections. I used this to write an  extension method which takes a collection  and size of subset, split the collection into even sized small subsets and then return each subset one by one.

Here is my code,

  1. public static IEnumerable<IEnumerable<T>>
  2.         Subset<T>(this IEnumerable<T> list, int size)
  3.         {
  4.             int subset = 0;
  5.             do
  6.             {
  7.                 yield return list
  8.                     .Skip((subset++)*size)
  9.                     .Take(size);
  10.             } while (subset * size < list.Count());
  11.         }

7 comments:

  1. شركة خطوه
    عجينه الصراصير
    تسمى عجينه الصراصيرباسم عجينة الحمض البوريك, وإليكم بعض الأشياء والأواني التي سوف نحتاجها في عمل تلك العجينة:
    • كوب من الماء الفاتر.
    • علبة بلاستيك تكون قديمة وغير مستعملة.
    • لبن بودرة.
    • حمض البوريك وهو ما يسمى البوريك أسيد.
    • مقدار من السكر.
    • مقدار من الدقيق.
    • قفاز من البلاستيك لليدين لعجن العجينة بأمان.
    • ملعقة من البلاستيك للتخلص منها بعد خلط العجينة.
    وعند خلط هذه المقادير لابد أن تكون جميعها متساوية مع بعضها البعض
    جميع خدمات شركة خطوة
    ترميم فلل
    صيانة فلل
    مكافحة حشرات
    http://www.khatwh.com

    ReplyDelete


  2. كشف تسربات المياه بالرياض
    من شركة عالم التميز بالرياض
    من الأهمية أن تقوم عميلنا الكريم بالتواصل مع شركة متخصصة في مجال الكشف عن تسرب المياه، فالكشف المبكر عن التسرب عامل مهم في نجاح العلاج وتوفيرًا للأموال والوقت، حتى وإن لم تكن تعاني من التسرب فالوقاية خيرً من العلاج من خلال اتباع الصيانة الدورية وهو ما تقدمه شركتنا حيث:
    • على حسب ما يرغب العميل به يتم الاتفاق على تحديد موعد ثابت للصيانة الدورية للكشف على تسرب المياه، وهذا يكشف أي نسبة تسرب في مراحلها الأولية ويسهل من المعالجة.
    • الكشف عن تسرب المياه يتم من خلال مهندسين على دراية وخبرة بمختلف أعمال الكشف ويستطيع العميل الاطلاع على الشهادات الخاصة بهم.
    • الكشف على تسرب المياه من خلال أجهزة حديثة لا تتطلب تكسير فهي تقوم بإصدار إشارات وذبذبات مع خبرة المهندس المختص يقوم بتحديد مكان التسرب بكل دقة ويسر.
    من خدمات شركة عالم التميز شركة كشف تسربات المياه بالرياض
    ترميم منازل بالرياض
    شركة ترميم منازل بالرياض
    شركة كشف تسربات المياه بالرياض
    عالم التميز
    http://www.alameltamyoz.com/

    ReplyDelete
  3. تعد شركة ركن الامانة (0505561372) من الشركات المتخصصة فى اعمال التنظيف و النقل و المكافحة بالمنطقة الجنوبية فى المملكة العربية السعودية فهى تقدم خدمات متميزة وعلى اعلى مستوى من الخبرة و التقنية بالاعتماد على عمال مدربين ومتميزين فى عمالهم ونقدم خدمات باقل الاسعار التى تناسب جميع عملائنا الكرام فتواصلوا معنا
    شركة تنظيف بخميس مشيط
    شركة تنظيف منازل بخميس مشيط
    شركة تنظيف كنب بخميس مشيط
    شركة عزل اسطح بخميس مشيط
    شركة مكافحة حشرات بخميس مشيط

    ReplyDelete

  4. من أكثر الأمور التي يجب علينا أن نقوم بالاهتمام بها هي مكافحه الحشرات لان الحشرات المنزلية عندما تتواجد داخل المنزل فأنها تؤدى إلى عواقب وخيمة جدا في هذا المنزل الصفرات لمكافحة الحشرات بالرياض ومن أهم هذه العواقب هي الأمراض الكثيرة التي تأتي إلينا بسبب هذه الحشرات المزعجة لان الحشرات تكون ملوثه وتخرج من البالوعات وتخرج أيضا من المجاري وفي هذه الحالة تكون الحشرات تشكل خطر كبير جدا الصفرات لرش المبيدات بالرياض على جميع أفراد الأسرة وعلى جميع الأفراد المتواجدين داخل المنزل وخاصة للأطفال الصغار ولذلك يجب علينا أن نقوم بالاهتمام بهذا الأمر وان نقوم برش المبيدات الحشرية داخل المنزل بطريقه سليمة وأمنه الصفرات لرش المبيدات وان نقوم بعلاج هذه المشكلة طوال الوقت حتى نقوم بالقضاء على أي حشرات تتواجد داخل منزلنا و حتى نجعل البيت نظيف تماما من أي حشرات .

    تعتبر شركتنا افضل كشف تسربات المياه بجده داخل المملكه حيث ان شركتنا لديها قدره كبيره جدا علي معرفه اماكن التسربات وتضع لكم الحل الامثل للقضاء الصفرات للعزل علي هذه المشكله فنحن نقدم لكم خدمه فريده من نوعها والقضاء علي مشاكل التسربات تماما فنحن نعمل وفق منظومه عمل متكامله الصفرات لكشف لتسربات المياه وراقيه جدا ونقدم لكم افضل اسليب الكشف وارقاها علي الاطلاق ونوفر اسلوب فني عالي جدا ونجتهد لنخرج لكم عمل يليق بكم ويليق باسم شركتنا الكبير جدا لان شركتنا هي اكبر.

    العميل نبداء مباشرة وانة يتم هذا عقب تحديد المشكلة الأساسية ويكون من خلال اجهزة تسليك البالوعات المتطورة هو الحل حيث ان إستعمال الاسيد لفتح المجارى ليس يُعد الحل الامثل و الاسرع فى وسيلة تسليك البلاعة و فتح المجاري المقفلة الصفرات لتسليك المجاري ويكون بلا تكسير وإذ لم يكن لك التمكن في تسليك المجارى واذا كنت لا تعرف العلة فى انسداد المرحاض.
    هي إزالة الأوساخ والقاذورات والنفايات من أي مكان والنظافة عبارة عن ممارسات يومية أو أسبوعية أو شهرية ويجب التنظيف بشكل دوري لأن نظافة المكان تؤدي خدمة المنزل بالرس إلى أفض صحة بالنسبة للأفراد ويؤدي إلى منع انتشار الأمراض والأوبئة بالمكان، وأن نظافة تؤدي إلى راحة نفسية شركة تنظيف بالرس والشعور بالسعادة
    أن النظافة أساس كل تقدم ورقي، عنوان الحضارة شركة تنظيف خزانات بالمدينة المنورة ، ومظهر من مظاهر الإيمان .

    ReplyDelete