比如列表里面有个数值的字段,第一行是100,第二行是200,如此循环下去进行比较 直到把最大的值取出来。求各位大侠帮忙!谢谢!

解决方案 »

  1.   

    2方法一个最简单的方法
    数据读取到arrylist
    使用他的sort方法 直接OK了。
      

  2.   

    思路
    int max = 0
    foreach 读取每一行
        if (当前行 > max) max = 当前行
    max就是你要的。
      

  3.   


    int Money = 0;
                    foreach (RepeaterItem item in this.BaoBeiContent.Items)
                    {
                        TextBox aa = item.FindControl("控件") as TextBox;
                        Money = int.Parse(aa.Text);
                        List<int> list = new List<int>();
                        list.Add(Money);                    int i = 0, j = 0;  // 循环变量           
                        int temp;  // 临时变量
                        int[] arr = new int[] { Money };
                        for (j = 1; j < arr.Length; j++)
                        {//外循环每次把参与排序的最大数排在最后   
                            for (i = 0; i < arr.Length - j; i++)
                            {  //内层循环负责对比相邻的两个数,并把最大的排在后面 
                                if (arr[i] > arr[i + 1])
                                {  //如果前 一个数大于后一个数,则交换两个数  
                                    temp = arr[i];
                                    arr[i] = arr[i + 1];
                                    arr[i + 1] = temp;
                                }
                            }
                        }
                        for (j = 0; j < arr.Length; j++)
                        {
                            bb.Text = arr[i].ToString();
                        }
    看我这样写的有问题没?这样写不管怎样,取的值都是最后一个。
      

  4.   

     想这些如果经常用到的,如果实在JS获取最大、最小值可以考虑在JS里面封装一个MaxValue或者MinValue的方法,当然,无非都是用冒泡、选择排序等集中方法,封装可以方便以后调用。
      

  5.   

    不就是取Repeater中某一列中的最大值嘛,搞这么复杂
    int MaxMoney = 0;
    foreach(RepeaterItem item in this.BaoBeiContent.Items)
    {
         if(MaxMoney<int.Parse((item.FindControl("控件") as TextBox).Text.Trim()))
         {
              MaxMoney = int.Parse((item.FindControl("控件") as TextBox).Text.Trim()) ;
         }
    }
    Response.Write("最大价格:"+MaxMoney);
      

  6.   


    你原先Foreach里每次只取一条数据,你丢进List泛型中,是不行的,下面你2层for循环就更没意义了。你直接设置个变量,然后在foreach每次遍历中比较赋值,在foreach完毕后,取出的自然是最大值,这里设置的初始比较值是0,如果有负数的话,你可以设置一个负数,如-99999
      

  7.   

    其实方法很多,简单直接理解就行。
    当然自己写的最好。
    我以前写的。
     List<int> mylist = new List<int>();
            for (int i=0; i < 10; i++)
            {
             }
            mylist.Sort();
            foreach (int em in mylist)
            {
            }