সমান্তরালে কি 'চালিয়ে যাওয়ার' সমতুল্য রয়েছে? ফরৌচ?


248

আমি কিছু কোড পোর্টিং করছি এবং কোডটিতে আমার Parallel.ForEachএকটি ত্রুটি পেয়েছে continue। কিছু সমতুল্য আমি একটি ব্যবহার করতে পারেন Parallel.ForEachথেকে বৈশিষ্ট্যগুলি সমতুল্য continueএকটি foreachলুপ?

Parallel.ForEach(items, parallelOptions, item =>
{
    if (!isTrue)
        continue;
});

উত্তর:


413
return;

(দেহ প্রতিটি আইটেমের জন্য ডাকা একটি ফাংশন)


23

যখন আপনি আপনার লুপটিকে প্যারালাল।ফোর্যাচ যুক্তির জন্য একটি সামঞ্জস্যপূর্ণ সংজ্ঞাতে রূপান্তর করেছেন, আপনি বিবৃতিটির বুকটিকে ল্যাম্বডায় পরিণত করেছেন। ঠিক আছে, এটি এমন একটি ক্রিয়া যা সমান্তরাল ফাংশন দ্বারা ডাকা হয়।

সুতরাং, প্রতিস্থাপন continueসঙ্গে return, এবং বিরতি Stop()বা Break()বিবৃতি।


1
রিটার্নের স্টেটমেন্টগুলির সাথে ব্রেকগুলি প্রতিস্থাপনের চেয়ে সম্ভাব্য সর্বোত্তম বিকল্প হ'ল প্যারালাললুপস্টেটের স্টপ () এবং ব্রেক ()। ব্লগস.এমএসএন
বি /

@ জেসন কোডার এগুলির কোনওটিই continueযদিও সমান নয়।
হবে

1
@ ঠিক আছে, তাই আমি বিরতি বলেছিলাম। রিটার্নের বিবৃতিগুলি অব্যাহত বিবৃতিগুলিকে প্রতিস্থাপন করে
জেসন কোডার

@ জেসন কোডার - আহ। ওফ, আমি কী বোঝাতে চেয়েছি তা ভুল বুঝেছিলাম।
হবে

-1

চালিয়ে যাওয়ার অর্থ বাকী ব্লকটি এড়িয়ে যাওয়া এবং পরবর্তী আইটেমটিতে যাওয়া। সুতরাং, আপনি ব্লকের বাকী অংশে বিপরীত শর্ত প্রয়োগ করে চালিয়ে যেতে পারেন implement

উদাহরণস্বরূপ, প্রশ্নের কোডটি আবার লিখিত হবে:

Parallel.ForEach(items, parallelOptions, item =>
{
    //Skip an item by applying the opposite condition used for continue on all items until the end of the foreach

    if (isTrue) 
    {
      //Do what you want to do for all items
    }

});
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.