0

我正在尝试从 c# 中的列表中获取字符串,但找不到方法。这是我的代码

public class CurrentCondition
{
    public string cloudcover { get; set; }
    public string humidity { get; set; }
    public string observation_time { get; set; }
    public string precipMM { get; set; }
    public string pressure { get; set; }
    public string temp_C { get; set; }
    public string temp_F { get; set; }
    public string visibility { get; set; }
    public string weatherCode { get; set; }
    public List<WeatherDesc> weatherDesc { get; set; }
    public List<WeatherIconUrl> weatherIconUrl { get; set; }
    public string winddir16Point { get; set; }
    public string winddirDegree { get; set; }
    public string windspeedKmph { get; set; }
    public string windspeedMiles { get; set; }
}
    public class Data
{
    public List<CurrentCondition> current_condition { get; set; }
}

例如,我想从列表中获取temp_F字符串。current_condition我怎样才能做到这一点?

4

4 回答 4

3

假设您想要 CurrentCondition 实例列表中的所有温度,您可以使用 Linq 轻松完成此操作:

List<string> temps = current_condition.Select(x => x.temp_F).ToList();

根据接受的答案,以下是使用 Linq 获得特定温度的方法:

string temp = current_condition.Where(x => x.observation_time == "08:30").FirstOrDefault(x => x.temp_F);
于 2013-03-04T00:47:16.260 回答
2

因为current_condition是一个列表,你必须知道你对哪个列表索引感兴趣。假设你想要索引 0,你会写

Data data = new Data();
// Some code that populates `current_condition` must somehow run
string result = data.current_condition[0].temp_F.
于 2013-03-04T00:47:08.917 回答
1
List<string> list = new List<string>();
current_condition.ForEach(cond => list.Add(cond.temp_F));
于 2013-03-04T00:48:40.320 回答
0

您可以使用 ElementAt(int) 访问列表中的对象。

String t = current_condition.ElementAt(index).temp_F;
于 2013-03-04T00:51:04.397 回答