如题,我在gridview中<column>中绑定了5列(类型为数字,在gridview的位置中是2-6位),这5列分别对应数据库中得5个字段,我想问下:如果想遍历比较这5列之间的差值,看他们的差值是否为1,也就是相邻的,并统计出相邻的个数。比如:5列的值分别是1,8,2,3,7那么相邻的个数为2//如果为1,9,8,2,13,那么相邻的个数为2////如果为6,9,8,1,7,那么相邻的个数为1代码怎么写呢?
    int next = 0; 
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        for (int j = 2; j <= 6; j++)//循环那5列
            {
                //这边怎么写呢?                }
            }
     }
能给点思路吗?谢了。

解决方案 »

  1.   

    排序的时候定义一个 count 两个数差为1 就count + 1嘛
      

  2.   


    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            int a = 1;
            int b = 2;
            int c = 37;
            int d = 100;
            int ee = 10;        int next = 0;
            int temp = 0;              int[] qq = new int[] {a,b,c,d,ee };
                for (int j = 0; j < qq.Length-1;j++)
                {
                    for (int i = 0; i < qq.Length-1-j; i++)
                    {
                        if (qq[i] > qq[i + 1])
                        {
                            temp = qq[i];
                            qq[i] = qq[i + 1];
                            qq[i + 1] = temp;
                        }
                    }
                 
               }
                Response.Write(qq[0] + "<br />" + qq[1] + "<br />" + qq[2] + "<br />" + qq[3] + "<br />" + qq[4] + "<br />");
                for (int j = qq.Length - 1; j >0 ; j--)
                {
                    if (qq[j] - qq[j - 1] == 1)
                    { next++; }
                }
                Response.Write( next +"<br />");
        }
    }