一共 8个 级别
编号:15 24  3  4  5  7  8 (不可改变排序)
数量:48 48 36 36 36 36 36顺序是固定的  按照顺序排列的
求2个 编号 这间 数量和
比如
TextBox1 = 15
TextBox2 = 4
sum = 48+48+36+36 

解决方案 »

  1.   

    补充下 TextBox1  可以等于 TextBox2
      

  2.   

    建个字典类型的变量,linq to object很简单的几句就可以实现了,楼主自己试试吧
      

  3.   

    用一个list 保存编号 以此为顺序用编号做key 数值为value 保存成字典 
    然后 从list中取出编号范围,遍历取出字典中对应的值相加
      

  4.   


        /// <summary>
        /// 定义一个结构,将编号和index关系起来
        /// </summary>
        struct NumberIndex
        {
            public int index;
            public int number;        public NumberIndex(int index, int number)
            {
                this.index = index;
                this.number = number;
            }
        }                    static void Main(string[] args)
            {
                List<NumberIndex> list=new List<NumberIndex>();
                NumberIndex numberIndex=new NumberIndex(0,15);
                list.Add(numberIndex);
                numberIndex=new NumberIndex(1,24);
                list.Add(numberIndex);
                numberIndex=new NumberIndex(2,3);
                list.Add(numberIndex);
                numberIndex=new NumberIndex(3,4);
                list.Add(numberIndex);
                numberIndex=new NumberIndex(4,5);
                list.Add(numberIndex);
                numberIndex=new NumberIndex(5,6);
                list.Add(numberIndex);
                numberIndex=new NumberIndex(6,7);
                list.Add(numberIndex);
                numberIndex=new NumberIndex(7,8);
                list.Add(numberIndex);
                
                Dictionary<NumberIndex,int> dic = new Dictionary<NumberIndex,int>();
                dic.Add(list[0],48);
                dic.Add(list[1],48);
                dic.Add(list[2],36);
                dic.Add(list[3],36);
                dic.Add(list[4],36);
                dic.Add(list[5],36);
                dic.Add(list[6],36);
                dic.Add(list[7],36);            KeyValuePair<NumberIndex, int> item = dic.FirstOrDefault(c => c.Key.number == 14);
                int start = item.Key.index;
                item = dic.FirstOrDefault(c => c.Key.number == 4);
                int end = item.Key.index;            int result=0;
                for (int i = 0; i < end - start + 1; i++)
                {
                    KeyValuePair<NumberIndex, int> subItem = dic.FirstOrDefault(c => c.Key.index == i);
                    result += subItem.Value;
                }
            }
      

  5.   

    google 背包算法 动态规划