Если вы не возражаете, воссоздавая словарь, вы можете использовать Постулаты LINQ.
var dictionary = new SortedDictionary<int, SortedDictionary<string, List<string>>>();
var insertAt = 10;
var newValues = dictionary.ToDictionary(
x => x.Key < insertAt ? x.Key : x.Key + 1,
x => x.Value);
return new SortedDictionary<int, SortedDictionary<string, List<string>>>(newValues);
или
var dictionary = new SortedDictionary<int, SortedDictionary<string, List<string>>>();
var insertAt = 10;
var newValues = dictionary.ToDictionary(
x => x.Key < insertAt ? x.Key : x.Key + 1,
x => x.Value);
dictionary.Clear();
foreach(var item in newValues) dictionary.Add(item.Key, item.Value);
Почему это отвергнуто? – keyboardP
Вы не можете изменить ключ. Вместо этого удалите ключ и добавьте новое значение для клавиши + 1 –
Этот вопрос звучит так, как будто вы пытаетесь вручную вставить элемент и сохранить его сортировку (в частности, место для одного). Обратите внимание, что SortedDictionary делает это за вас уже. – Russell