设置FOREACH中的项目顺序

jus*_*eve 4 c# foreach

我的控制器将一个对象列表传递给我的视图,允许我:

        @foreach (var optiongroup in Model)
        {
Run Code Online (Sandbox Code Playgroud)

在模型中是一个IEnumerable<Option>.我需要对这个选项列表进行排序,这样当我:

@foreach (var option in optiongroup.Options){
Run Code Online (Sandbox Code Playgroud)

我最终得到一个列表,其中项目在被调用的属性上排序,option.SortOrder而不是每个项目的序号位置.

那么如何才能获得在之前排序的列表foreach?我试过了:

@foreach (var option in optiongroup.Options.OrderByDescending(o => optiongroup.SortOrder))
Run Code Online (Sandbox Code Playgroud)

和:

IEnumerable<Option> allOptions = optiongroup.Options.OrderByDescending(o => optiongroup.SortOrder); 
// then foreaching the allOptions list
Run Code Online (Sandbox Code Playgroud)

但还没有实现快乐.

谢谢

sca*_*tag 7

这个

IEnumerable<Option> allOptions = optiongroup.Options.OrderByDescending(o => optiongroup.SortOrder);
Run Code Online (Sandbox Code Playgroud)

应该

IEnumerable<Option> allOptions = optiongroup.Options.OrderByDescending(o => o.SortOrder);
Run Code Online (Sandbox Code Playgroud)