我正在使用以下代码从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
按字母顺序排序?因此显示的结果是从A-Z的名称中排序的。
答案 0 :(得分:2)
我建议你试试这个:
var sorted = info.OrderBy(i => i.Name);
这将返回排序数据,按照传递给OrderBy方法的表达式中选择的字段排序。字符串数据的默认比较将是字母排序,这应该足以满足您的需求。
如果您需要返回List以分配给DefaultViewModel [“Sections”],您可以这样做:
this.DefaultViewModel["Sections"] = info.OrderBy(i => i.Name).ToList();