在c#中用visual studio 怎么实现天气查询
时间: 2024-04-01 09:37:03 浏览: 108
Visual Studio 2017 C#实现winform左侧导航菜单栏[抽屉型].rar
5星 · 资源好评率100%
你可以使用C#编写一个控制台应用程序,然后调用天气查询API来实现天气查询。以下是一个基本的示例:
1. 创建一个新的控制台应用程序项目。
2. 在程序中添加代码以调用天气查询API。例如,可以使用以下代码调用心知天气API:
```csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace WeatherApp
{
class Program
{
static async Task Main(string[] args)
{
string cityName = "北京"; // 查询的城市名称
string apiKey = "your_api_key"; // 在心知天气申请的API Key
string apiUrl = $"https://api.seniverse.com/v3/weather/now.json?key={apiKey}&location={cityName}&language=zh-Hans&unit=c"; // API请求地址
using (var client = new HttpClient())
{
var response = await client.GetAsync(apiUrl);
var content = await response.Content.ReadAsStringAsync();
if (response.IsSuccessStatusCode)
{
var data = JsonConvert.DeserializeObject<WeatherData>(content);
Console.WriteLine($"{data.Results[0].Location.Name}的天气:{data.Results[0].Now.Text},温度:{data.Results[0].Now.Temperature}℃");
}
else
{
Console.WriteLine($"请求失败,状态码:{response.StatusCode},原因:{content}");
}
}
Console.ReadKey();
}
}
// 天气数据模型
public class WeatherData
{
[JsonProperty("results")]
public WeatherResult[] Results { get; set; }
}
public class WeatherResult
{
[JsonProperty("location")]
public WeatherLocation Location { get; set; }
[JsonProperty("now")]
public WeatherNow Now { get; set; }
}
public class WeatherLocation
{
[JsonProperty("name")]
public string Name { get; set; }
}
public class WeatherNow
{
[JsonProperty("text")]
public string Text { get; set; }
[JsonProperty("temperature")]
public int Temperature { get; set; }
}
}
```
3. 替换代码中的`your_api_key`为你在心知天气申请的API Key。
4. 运行程序,输入要查询的城市名称,即可显示天气信息。
阅读全文