ব্যবহার করার সময় ToList(), এমন কোনও পারফরম্যান্স প্রভাব রয়েছে যা বিবেচনা করা দরকার?
আমি একটি ডিরেক্টরি থেকে ফাইলগুলি পুনরুদ্ধার করার জন্য একটি কোয়েরি লিখছিলাম, যা কোয়েরি:
string[] imageArray = Directory.GetFiles(directory);
তবে, যেহেতু আমি List<>পরিবর্তে কাজ করতে পছন্দ করি তাই আমি সিদ্ধান্ত নিয়েছিলাম ...
List<string> imageList = Directory.GetFiles(directory).ToList();
সুতরাং, এরকম কোনও রূপান্তর করার সিদ্ধান্ত নেওয়ার সময় এমন কিছু পারফরম্যান্স প্রভাব রয়েছে যা বিবেচনা করা উচিত - বা কেবলমাত্র বিপুল সংখ্যক ফাইলের সাথে ডিল করার সময় বিবেচনা করা উচিত? এটি কি নগণ্য রূপান্তর?
Addবা Remove, আমি এটি IEnumerable<T>(বা আরও ভাল var) হিসাবে ছেড়ে দেব
EnumerateFilesপরিবর্তে কল করা ভাল GetFiles, সুতরাং কেবল একটি অ্যারে তৈরি করা হবে।
GetFiles(directory), যেমন এটি। নেট এ বর্তমানে প্রয়োগ করা হয়েছে, বেশ কিছু করে new List<string>(EnumerateFiles(directory)).ToArray()। সুতরাং GetFiles(directory).ToList()একটি তালিকা তৈরি করে, সে থেকে একটি অ্যারে তৈরি করে, তারপরে আবার একটি তালিকা তৈরি করে। 2 কে যেমন বলেছেন, আপনার EnumerateFiles(directory).ToList()এখানে করা পছন্দ করা উচিত ।
List<T>একটি পক্ষেT[]যদি এটা কোড আরো যৌক্তিক / পাঠযোগ্য / রক্ষণীয় (যদি না অবশ্যই রূপান্তর তোলে হয়েছিল যার ফলে লক্ষণীয় কর্মক্ষমতা সমস্যা যে ক্ষেত্রে আমি পুনরায় চাই আমি এটি অনুমান করুন)।