আমাকে পরীক্ষা করতে হবে, যদি ডিস্কে ডিরেক্টরি খালি থাকে। এর অর্থ, এতে কোনও ফোল্ডার / ফাইল নেই। আমি জানি, একটি সহজ পদ্ধতি আছে যে। আমরা ফাইলসিস্টেমআইফোনগুলির অ্যারে পাই এবং উপাদানগুলির সংখ্যা শূন্যের সমান কিনা তা পরীক্ষা করি। এরকম কিছু:
public static bool CheckFolderEmpty(string path)
{
if (string.IsNullOrEmpty(path))
{
throw new ArgumentNullException("path");
}
var folder = new DirectoryInfo(path);
if (folder.Exists)
{
return folder.GetFileSystemInfos().Length == 0;
}
throw new DirectoryNotFoundException();
}
এই পদ্ধতির ঠিক আছে বলে মনে হচ্ছে। কিন্তু !! পারফরম্যান্সের দৃষ্টিকোণ থেকে এটি খুব খারাপ। গেটফাইসিসটেমআইএনফোস () একটি খুব কঠিন পদ্ধতি। প্রকৃতপক্ষে, এটি ফোল্ডারের সমস্ত ফাইল সিস্টেমের অবজেক্টগুলিকে গণ্য করে, তাদের সমস্ত বৈশিষ্ট্য পায়, বস্তু তৈরি করে, টাইপিত অ্যারে ইত্যাদি পূরণ করে এবং এগুলি কেবল দৈর্ঘ্য পরীক্ষা করার জন্য। বোকা, তাই না?
আমি সবেমাত্র এই জাতীয় কোডটির প্রোফাইল দিয়েছি এবং নির্ধারিত করেছি যে এই জাতীয় পদ্ধতির ~ 250 ডলার calls 500ms এ কার্যকর করা হয়। এটি খুব ধীর এবং আমি বিশ্বাস করি যে এটি আরও দ্রুত করা সম্ভব।
কোনও পরামর্শ?