Directory.EnumerateFiles
বনাম মধ্যে পার্থক্য কি GetFiles
?
স্পষ্টতই একটির একটি অ্যারে এবং অন্যটি প্রত্যাবর্তনযোগ্য ফেরত দেয়।
আর কিছু?
Directory.EnumerateFiles
বনাম মধ্যে পার্থক্য কি GetFiles
?
স্পষ্টতই একটির একটি অ্যারে এবং অন্যটি প্রত্যাবর্তনযোগ্য ফেরত দেয়।
আর কিছু?
উত্তর:
ডক্স থেকে :
নিম্নরূপে EnumerateFiles এবং GetFiles পদ্ধতিগুলি পৃথক: আপনি যখন EnumerateFiles ব্যবহার করেন, পুরো সংগ্রহটি ফিরে আসার আগে আপনি নাম সংগ্রহের গণনা শুরু করতে পারেন; যখন আপনি গেটফাইলগুলি ব্যবহার করেন, অ্যারে অ্যাক্সেস করার আগে আপনাকে অবশ্যই পুরো পুরো অ্যারেটি ফিরে আসার অপেক্ষা করতে হবে। অতএব, আপনি যখন অনেকগুলি ফাইল এবং ডিরেক্টরি নিয়ে কাজ করছেন তখন এনুমারেট ফাইলগুলি আরও দক্ষ হতে পারে।
সুতরাং মূলত, এমন EnumerateFiles
একটি রিটার্ন দেয় IEnumerable
যা অলসভাবে কিছুটা মূল্যায়ন করা যায়, আবার কোনওটি GetFiles
ফিরে আসে string[]
যা এটি ফিরে আসার আগে পুরোপুরি জনবসতিপূর্ণ হতে হয়।
FileSystemEnumerableFactory.CreateFileInfoIterator()
। কিন্তু এটি থেকে অতিরিক্ত তৈরি করে এবং কল করার EnumerateFiles()
সময় সরাসরি এই পুনরাবৃত্তিকে ফেরত দেয় । সুতরাং, আপনি যদি গতির যত্ন নিয়ে থাকেন তবে এটি নিজের ব্যবহার এবং পুনরুক্তিকারীর সাথে নিজেকে মোকাবিলা করার জন্য বোধগম্য । GetFiles()
List
ToArray()
EnumerateFiles()
EnumerateFiles
প্রত্যাবর্তন IEnumerable<string>
এবং এটি স্থগিত কার্যকর করা বোঝায়। এটি কেবলমাত্র Fx4 এবং তারপরেই উপলব্ধ।
EnumerateFiles ব্যবহার করার সময়, আপনি যদি তখন ব্যবহার করেন তবে সমস্ত গতি নষ্ট হবে .Last
। এটি অবশ্যই বোঝায়, কারণ শেষ ফাইলটি পেতে, এটি সমস্ত ফাইলগুলি গণনা করতে হবে, তারপরে সর্বশেষটি ধরে ফেলবে।
তবে, ব্যবহার করা .First
বা .FirstOrDefault
খুব দ্রুত হয়ে ওঠে, কারণ এটি কেবল প্রথম আইটেমটি ধরে এবং এগিয়ে যায়।
Array
বনাম Enumerable
দিকটি বাদ দিয়ে কি পার্থক্য রয়েছে । আপনার উত্তর এই জাতীয় সমস্ত পরিস্থিতিতে জেনেরিক তবে জিজ্ঞাসিত প্রশ্নের উত্তর দেয় না।