我尝试了下面的代码。我创建了名称是天气的链接列表 在datagridview上显示数据。但是发生了错误(' npc'是一个像方法一样使用的变量)我已经尝试了很多次但是我无法修复错误。
这是我用于创建链接列表的代码
LinkedList<string> weather = new LinkedList<string>();
private void getW(string city)
{
DataTable dt = new DataTable();
dt.Columns.Add("country", typeof(string));
dt.Columns.Add("Date", typeof(string));
dt.Columns.Add("Max Temp", typeof(string));
dt.Columns.Add("Min Temp", typeof(string));
dt.Columns.Add("Maxwindmph", typeof(string));
dt.Columns.Add("Maxwindkph", typeof(string));
dt.Columns.Add("Humidity", typeof(string));
dt.Columns.Add("Cloud", typeof(string));
dt.Columns.Add("Icon", typeof(Bitmap));
city = txttext.Text;
string uri = string.Format("http://api.apixu.com/v1/forecast.xml?={0}&days=7", city);
XDocument doc = XDocument.Load(uri);
LinkedList<string> weather = new LinkedList<string>();
weather.AddLast ( (string)doc.Descendants("maxtemp_c").FirstOrDefault());
weather.AddLast ((string)doc.Descendants("mintemp_c").FirstOrDefault());
weather.AddLast ( (string)doc.Descendants("maxwind_mph").FirstOrDefault());
weather.AddLast ((string)doc.Descendants("maxwind_kph").FirstOrDefault());
weather.AddLast ((string)doc.Descendants("avghumidity").FirstOrDefault());
weather.AddFirst ((string)doc.Descendants("text").FirstOrDefault());
// foreach (var npc in doc.Descendants("forecastday"))
foreach (var npc in weather)
{
string iconUri = (string)npc("icon").FirstOrDefault();
WebClient client = new WebClient();
byte[] image = client.DownloadData("http:" + iconUri);
MemoryStream stream = new MemoryStream(image);
Bitmap newBitMap = new Bitmap(stream);
dt.Rows.Add(new object[] {
(string)doc.Descendants("country").FirstOrDefault(),
(string)npc("date").FirstOrDefault(),
(string)npc("maxtemp_c").FirstOrDefault(),
(string)npc("mintemp_c").FirstOrDefault(),
(string)npc("maxwind_mph").FirstOrDefault(),
(string)npc("maxwind_kph").FirstOrDefault(),
(string)npc("avghumidity").FirstOrDefault(),
(string)npc("text").FirstOrDefault(),
newBitMap
});
}
dataGridView1.DataSource = dt;
}
答案 0 :(得分:0)
由于错误说nbc是一个变量,可能需要
(string)doc.Descendants("country").FirstOrDefault(),
(string)npc["date"].FirstOrDefault()
将所有 ()
替换为 []
,因为tou正在访问这些属性