我正在尝试从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
字符串。我怎么能这样做?
答案 0 :(得分: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);
答案 1 :(得分: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.
答案 2 :(得分:1)
List<string> list = new List<string>();
current_condition.ForEach(cond => list.Add(cond.temp_F));
答案 3 :(得分:0)
您可以使用ElementAt(int)访问列表中的对象。
String t = current_condition.ElementAt(index).temp_F;