ConvertAllএটি কোনও এক্সটেনশন নয়, এটি তালিকা শ্রেণীর একটি পদ্ধতি। ToListইতিমধ্যে এটি একটি তালিকা হিসাবে আপনাকে ফলাফলটি কল করতে হবে না :
List<int> list2 = list.ConvertAll(x => 2 * x);
সুতরাং, পার্থক্যটি হল যে ConvertAllপদ্ধতিটি কেবলমাত্র একটি তালিকায় ব্যবহার করা যেতে পারে এবং এটি একটি তালিকা ফেরত দেয়। Selectপদ্ধতি কোনো সংগ্রহ যে কার্যকরী ব্যবহার করা যেতে পারে IEnumerable<T>ইন্টারফেস, এবং এটি একটি ফেরৎ IEnumerable<T>।
এছাড়াও, তারা বিভিন্নভাবে প্রক্রিয়াজাতকরণ করে, তাই বিভিন্ন পরিস্থিতিতে তাদের শক্তি রয়েছে। ConvertAllযখন তালিকা মাধ্যমে পদ্ধতি চলে এবং এক বারেই একটি নতুন তালিকা তৈরি করে Selectপদ্ধতি অলস মৃত্যুদন্ড ব্যবহার করে এবং যেমন আপনি তাদের প্রয়োজন শুধুমাত্র আইটেম প্রক্রিয়া করে। আপনার যদি সমস্ত আইটেমের প্রয়োজন না হয় তবে Selectপদ্ধতিটি আরও কার্যকর। অন্যদিকে, একবার ConvertAllতালিকাটি ফিরে আসার পরে, আপনাকে মূল তালিকাটি রাখার দরকার নেই।