>我使用此代码在 C# 中使用来自 Web API 的数据填充列表,该 Web API 从 csv 文件获取数据
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();
}
我想根据其Name
将照片分配给(string)data.PhotoUrl,
。
例如:如果Name
是"汽车",我希望将其分配PhotoUrl
"资产/图像/汽车.jpg"。如果列表中的项目Name
为"船",请将其PhotoUrl
分配给"资产/图像/船.jpg"。
图像不包括在 Web API 馈送的 CSV 文件中。
列表中将有多个项目具有相同的Name
,但所有具有相同Name
的项目将共享相同的分配图像。
我该怎么做?
new info
中的info
是什么?是你的某个班级吗?如果是,它是否继承了您键入列表时使用的SampleDataGroup
类型?如果是,并且您使用构造函数为其赋值,则使用
data.PhotoUrl = string.Format("Assets/Images/{0}.jpg", data.Name)
如评论中所述,if/else
这样做将是自杀。如果不是现在,那么肯定是当你决定扩张时。