Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SelectList未按顺序返回-C MVC 3_C#_Asp.net Mvc 3_Sorting_Selectlist - Fatal编程技术网

C# SelectList未按顺序返回-C MVC 3

C# SelectList未按顺序返回-C MVC 3,c#,asp.net-mvc-3,sorting,selectlist,C#,Asp.net Mvc 3,Sorting,Selectlist,全部, 我正在尝试对selectlist项目进行排序,然后在列表前添加一个默认列表项目,类似于在下面选择一个项目并通过方法返回该列表。我注意到列表没有被排序,因为从ReSharper的说法来看,我需要返回排序后的结果,所以我的方法没有返回排序后的列表 有没有办法在方法中进行排序和预结束 以下是我所拥有的: public static IEnumerable<SelectListItem> GetBuildingClubs(List<BuildingClub>

全部,

我正在尝试对selectlist项目进行排序,然后在列表前添加一个默认列表项目,类似于在下面选择一个项目并通过方法返回该列表。我注意到列表没有被排序,因为从ReSharper的说法来看,我需要返回排序后的结果,所以我的方法没有返回排序后的列表

有没有办法在方法中进行排序和预结束

以下是我所拥有的:

       public static IEnumerable<SelectListItem> GetBuildingClubs(List<BuildingClub> localClubs, List<BuildingClub> psfyClubs)
    {
        var buildingClubList = new List<SelectListItem>();
        IEnumerable<BuildingClub> allBuildingClubs = localClubs.Union(psfyClubs);
        foreach (BuildingClub b in allBuildingClubs)
        {


            buildingClubList.Add(new SelectListItem
            {
                Value = b.MasterCustomerId,
                Text = b.NewBuildingClubName

            });


        }

        //Sort list
        buildingClubList.OrderBy(c => c.Text);

        //Prepend to sorted list
        buildingClubList.Insert(0, new SelectListItem
        {
            Value = "",
            Text = "Select an Item Below"

        });

        return buildingClubList;

    }
OrderBy不修改输入列表;它返回一个新的排序序列。您需要存储该序列并使用它来构建列表:

buildingClubList = buildingClubList.OrderBy(c => c.Text).ToList();
或者,在将项目添加到列表之前对其进行排序:

IEnumerable<BuildingClub> allBuildingClubs = localClubs.Union(psfyClubs).OrderBy(b => b.NewBuildingClubName);
OrderBy不修改输入列表;它返回一个新的排序序列。您需要存储该序列并使用它来构建列表:

buildingClubList = buildingClubList.OrderBy(c => c.Text).ToList();
或者,在将项目添加到列表之前对其进行排序:

IEnumerable<BuildingClub> allBuildingClubs = localClubs.Union(psfyClubs).OrderBy(b => b.NewBuildingClubName);

非常有用-谢谢非常有用-谢谢