c# - 使用 .Toarray 方法后在通用列表上排序

标签 c# asp.net arrays sorting

我正在使用以下代码将分页数据源绑定(bind)到转发器控件

  protected void Paging()
    {
        Array q = (Array)Session["q"];
        PagedDataSource objPds = new PagedDataSource();
        objPds.DataSource = q;
        objPds.AllowPaging = true;
        objPds.PageSize = Convert.ToInt32(ddlPageNo.SelectedValue);

        objPds.CurrentPageIndex = CurrentPage;

        lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of "
           + objPds.PageCount.ToString();

        // Disable Prev or Next buttons if necessary
        cmdPrev.Enabled = !objPds.IsFirstPage;
        cmdNext.Enabled = !objPds.IsLastPage;

        rptHotels.DataSource = objPds;
        rptHotels.DataBind();

    }

q

 getAvailableHotelResponse getres = new getAvailableHotelResponse();    
  getres = objsoap.getAvailableHotel(apiKey, destinationId, checkIn, checkOut, strCurrencyCode, "UK", false, rooms, f);   
            List<hotel> hr = new List<hotel>();
            hr = getres.availableHotels.ToList();

            List<BALHotelList> bh = new List<BALHotelList>();
            bh = h.GetHotelListByDestinationId(destinationId);
     var q = from a in bh
                    join b in hr on a.HotelCode equals b.hotelCode
                    orderby a.HotelName
                    select new
            {
                a.HotelCode,
                a.ImageURL_Text,
                a.HotelName,
                a.StarRating,
                a.HotelAddress,
                a.Destination,
                a.Country,
                a.HotelInfo,
                a.Latitude,
                a.Longitude,
                b.totalPrice,
                b.totalPriceSpecified,
                b.totalSalePrice,
                b.totalSalePriceSpecified,
                b.rooms

            };


            //rptHotels.DataSource = getres.availableHotels;

            Session["q"] = q.ToArray();

现在我想用

想按 hotelnamestarRating 对数组 q 进行排序。

我没有找到类似的方法

q.sort(); 

q.orderBy(q->hotelName)

最佳答案

对于成员对现有数组的就地排序:

Array.Sort(theArray, (x,y) => string.Compare(x.HotelName, y.HotelName));

关于c# - 使用 .Toarray 方法后在通用列表上排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11693827/

相关文章:

asp.net - 当我的 ASP.NET MVC 应用程序中的模型为 null 时,EditorFor(..) 引发异常

c# - 如何调用输入标签到c#代码

java - 如何在不破坏原始数组的情况下对数组进行排序?

arrays - 是否存在数组不是零索引的编程语言?

c# - 如何正确取消 Parallel.Foreach?

c# - Entity Framework 使用模型与 sqlce 和 sql server/sql express 数据库

c# - Entity Framework 中的字符串比较异常 FirstOrDefault

c# - 将 xml 数据存储在 cookie 中

arrays - 将多行字符串转换为数组

c# - 基于 2D 图 block 的洞穴生成器