嗨我有一个MultiSelectList,我想分成几个较小的MultiSelectList,具体取决于值(不是selectedValues),我想用LINQ来实现...确定它是可能但我不能切它..有什么建议吗?感谢。
答案 0 :(得分:0)
这就是你想要的:
var multiSelectList= new MultiSelectList(new List<string>()); //your mutli-select list
var multiSelectListGroupedByValue=ms.GroupBy(x => x.Value)
.Select(x=>new MultiSelectList(x.Select(y=>y.Value)));
答案 1 :(得分:0)
使用此代码(从此处Split a collection into `n` parts with LINQ?获取)
static class LinqExtensions
{
public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts)
{
int i = 0;
var splits = from item in list
group item by i++ % parts into part
select part.AsEnumerable();
return splits;
}
}
答案 2 :(得分:0)
我希望这就是你需要的东西
@{
var array = new int[] { 1,2,3,4,5,6,7,8,9,10 };
}
@Html.ListBox("lstBoxLessThan5",new MultiSelectList(array.Where(a => a < 5).ToArray()));
<br />
@Html.ListBox("lstBoxMorethan5",new MultiSelectList(array.Where(a => a > 5).ToArray()));
将任何业务逻辑放在临时数据结构'array'
中