请教一下:如何按顺序(键为正整数)补充2-5中间的键(即3,4),他们的值为开始中断的键的值(即122)最后得:{ "1": "57", "2": "122", "3": "122", "4": "122", "5": "192"}
目前进度:
2-5是个例子,实际可能是3-6,10-15...
也可能会中断两次及两次,1,3,5
此时需要重新定位
$=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);
感谢Cea大佬
保留原始标题,这样也方便其他人参考哦。
哦哦,下次注意
2-5是个例子,实际可能是3-6,10-15...
也可能会中断两次及两次,1,3,5
此时需要重新定位