我正在使用此代码在C#中使用来自csv文件获取数据的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 SampleDataGroup
(
(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();
}
我想将照片分配到(string)data.PhotoUrl,
,具体取决于Name
。
例如:如果Name
是“Car”,我希望为其分配PhotoUrl
“Assets / Images / car.jpg”。如果列表Name
中的项目是“船只”,请将其PhotoUrl
分配给“Assets / Images / boat.jpg”。
图片不包含在网络API供稿的CSV文件中。
列表中的多个项目具有相同的Name
,但具有相同Name
的所有项目将共享相同的已分配图像。
我该怎么做?
答案 0 :(得分:0)
info
中的new info
是什么?这是你的一类吗?如果是,它是否继承了您输入列表的SampleDataGroup
类型?如果是,并且您使用构造函数为其分配值,则使用
data.PhotoUrl = string.Format("Assets/Images/{0}.jpg", data.Name)
如评论中所述,if/else
执行此操作将是一种自杀。如果不是现在,那么当你决定扩张时肯定会。