LIST《String》 =new ...
数据如下:
1 2 3 null 4 5 null null null null null null null null 8 null 9 10 21 12
我希望切割成
1 2 3 4 5
8 9 10 21 12
测试数据2
null null 1 null 2 null 3 null 4 5 null null null null 8 null 9 10 21 12 null null null null null 78 79 null 20 ......
每个数组的长度都是不固定的 任意长度 有的长 有的短.....
也许是我没有表达清楚
自己写出来的代码 下午折腾出来的
//获取A标签区域 //根据A标签间距 把A标签列表切割成若干个区域 //然后获取密度最大的一个区域 //获取A标记权重最大的区域 int KeyQ = 0; int Key = 0; Dictionary<int, List<FlipObject>> Dlist = new Dictionary<int, List<FlipObject>>(); List<FlipObject> listM = new List<FlipObject>(); for (int i = 0; i < listhref.Count; i++) { if (listhref[i] != null) { listM.Add(listhref[i]); Key = i; if (i == (listhref.Count - 1)) { if ((i - Key) > Spacing && Key != 0 && listM.Count > 0) { Dlist.Add(i, listM); if (KeyQ <= listM.Count) { KeyQ = i; } listM = new List<FlipObject>(); }//end if }//end if }//end if else { if ((i - Key) > Spacing && Key != 0 && listM.Count > 0) { Dlist.Add(i, listM); if (KeyQ <= listM.Count) { KeyQ = i; } listM = new List<FlipObject>(); }//end if }//end else } if (Dlist.Count > 0) { listM = Dlist[KeyQ]; }//end if return listM;
是要把null的元素删除?还是象你那样的删除null后5个元素一组?
删除null:
list.Where(x=>x!=null).ToList();//使用了Linq。
//以下不使用LinQ
int i = 0;
while(i < list.Length)
{
if(list[i] == null)
{
list.RemoveAt(i);
continue;
}
i++;
}
至于5个一组,这个应该简单了吧?
不明白你究竟要做什么。删除null元素很简单,切割也不难的,难的是你的切割条件是什么?你要说清楚啊。
条件是什么?去除null然后五个分成一组?
都是大神..比不得
list = list.Where(item => item != null).ToList();
IList<string> list1 = list.Take(5).ToList();
IList<string> list2 = list.Skip(5).Take(5).ToList();
都是大神..比不得
楼主表达能力真的比开发能力还差!
都是大神..比不得
连自己的需求是什么都不知道.上次给另一个人提过这个建议但他没有听进去,
你把你这个需求写下来,当你能写下来了之后再想别的
都是大神..比不得
把你的业务需求说出来,我觉得是思路问题
都是大神..比不得
我这几天就是被两个完全不懂得表达的人各种折磨...
必须在QQ上翻来覆去的说两个小时才能把类似这样的问题说清楚。
所以原谅楼主吧,不会表达需求和不会分析需求的人,比比皆是,也许这就是代沟吧。
都是大神..比不得
不明觉厉