0

嗨,我有一个 MultiSelectList,我想根据值(不是 selectedValues)将它拆分为几个较小的 MultiSelectList,我想使用 LINQ 来实现这一点......当然可以,但我不能削减它..有什么建议么?谢谢。

4

3 回答 3

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)));
于 2012-04-16T06:39:12.260 回答
0

使用此代码(从此处获取使用 LINQ 将集合拆分为“n”部分?

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;
 }
}
于 2012-04-16T06:39:49.203 回答
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()));

将任何业务逻辑放在临时数据结构“数组”的位置

于 2012-04-16T06:43:54.490 回答