linq : linq to obj

解决方案 »

  1.   

    不太会linq, 求具体实现代码
      

  2.   

    List<PointF> newList=new List<PointF>();
    newList.add(list.last(i=>i.存300的那个字段<=x));
    newList.add(list.first(i=>i.存300的那个字段>=x));
      

  3.   

    List<PointF> newList=new List<PointF>();
    newList.add(list.last(i=>i.存300的那个字段<=x));
    newList.add(list.first(i=>i.存300的那个字段>=x));using system.linq;
      

  4.   


    谢谢大神回复,如果x=600的话,会返回两条一样的PointF(600, 2.8f), 我想要的是600跟他相邻的那个字段
      

  5.   


    谢谢大神回复,如果x=600的话,会返回两条一样的PointF(600, 2.8f), 我想要的是600跟他相邻的那个字段
      

  6.   


    谢谢大神回复,如果x=600的话,会返回两条一样的PointF(600, 2.8f), 我想要的是600跟他相邻的那个字段
      

  7.   


    谢谢大神回复,如果x=600的话,会返回两条一样的PointF(600, 2.8f), 我想要的是600跟他相邻的那个字段
    确定你的PointF的X不能重复的话,使用listPoint.Distinct();操作。
      

  8.   


    谢谢大神回复,如果x=600的话,会返回两条一样的PointF(600, 2.8f), 我想要的是600跟他相邻的那个字段
    确定你的PointF的X不能重复的话,使用listPoint.Distinct();操作。
      

  9.   


    谢谢大神回复,如果x=600的话,会返回两条一样的PointF(600, 2.8f), 我想要的是600跟他相邻的那个字段
    确定你的PointF的X不能重复的话,使用listPoint.Distinct();操作。
      

  10.   

       var test = list.OrderBy(a => a.X);
       if(!string.IsNullOrEmpty(textBox1.Text))
       {
    var t = (from p in test where p.X >float.Parse(textBox1.Text) select p).FirstOrDefault();
    MessageBox.Show("上一条和等于这一条:" + t);
    var t1 = (from p in test where p.X <= float.Parse(textBox1.Text) select p).OrderByDescending(x => x.X).FirstOrDefault();
    MessageBox.Show("下一条:" + t1);    }
    大体这样做