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 に答える