$=var dict = {dict}.ToDictionary(p=>Convert.ToInt32(p.Key),p=>Convert.ToInt32(p.Value));
public Dictionary<int, int> test(Dictionary<int, int> dict)
{
var keys = dict.Keys.OrderBy(x => x).ToList();
if (keys.Count == 0) return null;
int k_max = keys[keys.Count - 1];
int k_min = keys[0];
int count = k_max - k_min + 1;
var new_dict = Enumerable.Range(k_min, count).ToDictionary(x => x, x => 0);
int j = k_min;
for (int i = k_min; i <= k_max; i++)
{
if (dict.ContainsKey(i))
{
j = i;
}
new_dict[i] = dict[j];
}
return new_dict;
}
test(dict);
2-5是个例子,实际可能是3-6,10-15...
也可能会中断两次及两次,1,3,5
此时需要重新定位