有没有一种方法可以将一个1维的List拆分为一个2维数组?
问题的出现原因:问题的提问者想要将一个一维的List
解决方法:通过使用LINQ,可以将一个一维的List拆分成一个二维数组。具体的解决方法如下:
Listlist = new List () { 1, 2, 3, 4, 5, 6, 7, 8 }; var array = list.Select((v, i) => new { Value = v, Index = i}) .GroupBy(x => x.Index / 4, x => x.Value, (key,values) => values.ToArray()) .ToArray();
这段代码将一个简单的整数列表拆分成了一个二维数组。通过使用Select和GroupBy方法,首先给每个元素分配了一个索引,然后根据索引进行分组,每组包含四个元素。最后,将每个组转化为一个数组,并将所有组合并成一个二维数组。
这个解决方法创建的是一个嵌套数组(jagged array),而不是一个真正的二维数组。对于提问者来说,这似乎没有什么区别。
文章最后提到提问者尝试了一些其他的方法,但是没有得到满意的结果。他们还提到Model需要是可遍历的(IEnumerable),但是这个要求并不明确。
最后,提问者在评论中解释了他使用"insist"这个词的原因,表示在西班牙语中这个词的意思是一遍又一遍地询问或说同一件事情。对于提问者来说,他并不是强制要求,只是多次询问而已。并且,评论中还对提问者的英语表达能力给予了肯定,并提到了MVVM(Model-View-ViewModel)的知识。