0

我正在使用以下代码从 Web Api 获取数据并将其填充到列表中。

HttpClient client = new HttpClient();
    HttpResponseMessage response = await client.GetAsync("http://localhost:12345/api/items");

var info = new List<SampleDataGroup>();


            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();

               var item = JsonConvert.DeserializeObject<dynamic>(content);


                foreach (var data in item)
                {
                      var infoSect = new info
                            (

                                (string)data.Id.ToString(),
                                (string)data.Name,
                                (string)"",
                                (string)data.PhotoUrl,
                                (string)data.Description

                            );
                                 info.Add(infoSect);
                }
             }
            else
            {
                MessageDialog dlg = new MessageDialog("Error");
                await dlg.ShowAsync();
            }


            this.DefaultViewModel["Sections"] = info;

我如何按字母顺序排序Name?以便显示的结果按其名称从 AZ 排序。

4

1 回答 1

3

我建议你试试这个:

var sorted = info.OrderBy(i => i.Name);

这将返回排序后的数据,按传递给 OrderBy 方法的表达式中选择的字段排序。字符串数据的默认比较将是字母排序,这应该足以满足您的需求。

如果您需要返回一个列表以分配给 DefaultViewModel["Sections"],您可以执行以下操作:

this.DefaultViewModel["Sections"] = info.OrderBy(i => i.Name).ToList();
于 2013-11-11T01:51:31.100 回答