Я пытаюсь подразделить словарь на более мелкие части. Мой подход работает, мне просто интересно, есть ли более эффективный способ сделать это. Для примера, словарь имеет 10 элементов, но мой код может иметь до 1000 и будет состоять из 50, к которым я перехожу на api.Sub разделите словарь на более мелкие части
У моего Questain есть более эффективный способ сделать это ...?
int divideamount = 2;
Dictionary<string, string> dictionary = new Dictionary<string, string>();
dictionary.Add("cat1", "cat");
dictionary.Add("dog2", "cat");
dictionary.Add("cat3", "cat");
dictionary.Add("dog4", "cat");
dictionary.Add("cat5", "cat");
dictionary.Add("dog6", "cat");
dictionary.Add("cat7", "cat");
dictionary.Add("dog8", "cat");
dictionary.Add("cat9", "cat");
dictionary.Add("dog10", "cat");
var divided_dictionary
= dictionary.Select((value, index) => new { Index = index, Value = value })
.GroupBy(x => x.Index/divideamount)
.Select(g => g.Select(x => x.Value).ToDictionary(x => x.Key, x => x.Value))
.ToList();
foreach (Dictionary<string, string> division in divided_dictionary)
{
// do some work
}
Заранее благодарим за любую помощь или комментарии.
Очень хорошо написано и полезно. Спасибо за вашу помощь. Я попробую это сейчас. –
Это работало шармом, спасибо снова и очень информативно для меня. –