首页 新闻 搜索 专区 学院

c# List Split 分组筛选问题

0
[已解决问题] 解决于 2018-05-30 16:41

比如说有如List A:类型A B:类型B
{A,A,A,B,B,B,B,A,A,B,B,A,B,B,B,B,B,A,A......}
需要提炼出如下子列表: 即将每个被类型A分隔开的类型B区域数据单独的提炼出来形成一个新的集合.具体怎么实现...

{{A,A,A},{A,A},{A} ....}
{{B,B,B,B},{B,B},{B,B,B,B,B} ....}

溟茻的主页 溟茻 | 初学一级 | 园豆:106
提问于:2018-05-30 15:56
< >
分享
最佳答案
0

List<T> T 只能是同一个类型  去看看基础知识

奖励园豆:5
筱浬 | 小虾三级 |园豆:601 | 2018-05-30 16:11
其他回答(1)
0
List<int> groupIndexs = new List<int>() { 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0 };
            int mark = groupIndexs[0];
            int start = 0;
            int end = 0;
            List<List<int>> indexs = new List<List<int>>();
            for (int i = 1; i < groupIndexs.Count; i++)
            {
                if (groupIndexs[i] != mark)
                {
                    end = i;
                    if (mark == 1)
                    {
                        List<int> tmp = new List<int>();
                        for (int j = start; j < end; j++)
                        {
                            tmp.Add(groupIndexs[j]);
                        }
                        indexs.Add(tmp);
                    }
                    mark = groupIndexs[i];
                    start = i;
                }
            }

已解决,问题中所说的 类型A  类型B 只是表达的某一类型有不同的属性分类而已,就好比不同数字一样

溟茻 | 园豆:106 (初学一级) | 2018-05-30 16:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册