-1

我正在从 Web Api 获取数据,并使用 c# 将其添加到我的 Windows 商店触摸应用程序的列表中。我使用下面的代码可以正常工作。

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;

如何检查从 web api 检索到的数据,以从列表中排除其中Name包含“测试”一词的项目。例如,带有Name“苏打测试”的项目不应包含在列表中。

因此,如果 Name 包含“Test”,则不要添加到列表中。

4

4 回答 4

2
var items = item.Where( d =>!d.Name.Contains("Test")).ToList();
items.ForEach(i => info.Add(new info(){
     data.Id.ToString(),
     ...

}));    
于 2013-11-01T11:47:58.603 回答
2

!你应该可以使用 Linq 做到这一点。

 info.AddRange(item.Where(i => !i.Name.Contains("Test"))
                    .Select(i => {
                    new info
                        (

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

                        )}));
于 2013-11-01T11:48:06.107 回答
1
var item = JsonConvert.DeserializeObject<dynamic>(content).Where(i=>!i.Name.Contains("Test"))
于 2013-11-01T11:45:42.363 回答
0

尝试这个 :

if(!data.Name.ToString().Contains("Test"))
{
//Add Item to List
}
于 2013-11-01T11:45:23.203 回答