There doesn’t seem to be a dictionary.AddRange() method. Does anyone know a better way to copy the items to another dictionary without using a foreach loop.
I’m using the System.Collections.Generic.Dictionary. This is for .NET 2.0.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
There’s nothing wrong with a for/foreach loop. That’s all a hypothetical AddRange method would do anyway.
The only extra concern I’d have is with memory allocation behaviour, because adding a large number of entries could cause multiple reallocations and re-hashes. There’s no way to increase the capacity of an existing Dictionary by a given amount. You might be better off allocating a new Dictionary with sufficient capacity for both current ones, but you’d still need a loop to load at least one of them.