জেনেরিক তালিকার অ্যাডরেঞ্জ এবং কনক্যাট ফাংশনগুলির মধ্যে পার্থক্য কী ? একজনের কি অন্যের ওপরে সুপারিশ করা হয়?
জেনেরিক তালিকার অ্যাডরেঞ্জ এবং কনক্যাট ফাংশনগুলির মধ্যে পার্থক্য কী ? একজনের কি অন্যের ওপরে সুপারিশ করা হয়?
উত্তর:
তাদের সম্পূর্ণ আলাদা শব্দার্থক শব্দ রয়েছে।
অ্যাডরেঞ্জ এটিকে অন্যান্য আইটেম যুক্ত করে তালিকাটি পরিবর্তন করে।
কনক্যাট তালিকাটি পরিবর্তন না করেই তালিকা এবং অন্যান্য আইটেমযুক্ত একটি নতুন ক্রম ফিরিয়ে দেয়।
আপনি যে শব্দার্থক চান তা বেছে নিন।
বড় পার্থক্য হ'ল অ্যাডরেঞ্জ সেই তালিকাটিকে পরিবর্তিত করে যার বিরুদ্ধে এটি বলা হয় যেখানে কনক্যাট একটি নতুন তালিকা তৈরি করে। তাই তাদের বিভিন্ন ব্যবহার রয়েছে have
এছাড়াও কনক্যাট একটি এক্সটেনশন পদ্ধতি যা কোনও আইইনিউরেবলের জন্য প্রযোজ্য এবং একটি নতুন তালিকার ফলস্বরূপ আপনার .ToList () প্রয়োজন এমন একটি IEnumerable ফিরিয়ে দেয়।
আপনি যদি বিদ্যমান তালিকার বিষয়বস্তু প্রসারিত করতে চান তবে অ্যাডরেঞ্জ ব্যবহার করুন।
আপনি যদি দুটি আইএনমেবলের উত্স থেকে একটি নতুন তালিকা তৈরি করে থাকেন তবে টোকলিস্টের সাথে কনক্যাট ব্যবহার করুন। এটিতে এমন গুণ রয়েছে যা এটি উত্সগুলির মধ্যে কোনও রূপান্তর করে না।
আপনার যদি কেবল দুটি তালিকার বিষয়বস্তুগুলি গণনা করার প্রয়োজন হয় (বা অন্য কোনও আইনিউবারেবল) তবে প্রতিবার কেবল কনক্যাট ব্যবহার করুন, ইউনিফাইড তালিকাটি ধারণ করতে আসলে নতুন মেমরি বরাদ্দ না করার সুবিধা রয়েছে।
আমি এই আকর্ষণীয় নিবন্ধটি এই 2 কাঠামোর মধ্যে পার্থক্য এবং তাদের পারফরম্যান্সের সাথে তুলনা করার কথা বলেছি ...
মূল ধারণাটি হ'ল অ্যাড্রেঞ্জ খুব দ্রুততর হয় যখন এটি প্রায় বড় আকারের সংগ্রহ।
এখানে লিঙ্কটি দেওয়া আছে
আশাকরি এটা সাহায্য করবে,
Concat
এবং AddRange
সাথে List<KeyValuePair<string, string>>
1000 টি উপাদান দিয়ে একটি 100 বার সংক্ষিপ্ত / যুক্ত করেছি এবং AddRange
অত্যন্ত দ্রুত ছিল। ফলাফল এই ছিল: AddRange
13 MS, Concat().ToList()
16,000 MS, এবং Concat
একটি অন IEnumerable
শুধুমাত্র করছেন ToList
শেষে: 2,700 MS।