ব্যবহার করার সময় 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[]
যদি এটা কোড আরো যৌক্তিক / পাঠযোগ্য / রক্ষণীয় (যদি না অবশ্যই রূপান্তর তোলে হয়েছিল যার ফলে লক্ষণীয় কর্মক্ষমতা সমস্যা যে ক্ষেত্রে আমি পুনরায় চাই আমি এটি অনুমান করুন)।