0

我有“警报”类,其中包含一些从 Wunderground 的 API 返回的信息。然后我在“警报”,“警报”中有另一个课程。我的代码如下所示:

public class Alerts
{
    public class Features
    {
        public int alerts { get; set; }
    }

    public class Response
    {
        public string version { get; set; }
        public string termsofService { get; set; }
        public Features features { get; set; }
    }

    public class ZONED
    {
        public string state { get; set; }
        public string ZONE { get; set; }
    }

    public class StormBased
    {
    }

    public class Alert
    {
        public string type { get; set; }
        public string description { get; set; }
        public string date { get; set; }
        public string date_epoch { get; set; }
        public string expires { get; set; }
        public string expires_epoch { get; set; }
        public string message { get; set; }
        public string phenomena { get; set; }
        public string significance { get; set; }
        public List<ZONED> ZONES { get; set; }
        public StormBased StormBased { get; set; }
    }

    public class RootObject
    {
        public Response response { get; set; }
        public string query_zone { get; set; }
        public List<Alert> alerts { get; set; }
    }
    public class AlertsUpdateState
    {
        public HttpWebRequest AsyncRequest { get; set; }
        public HttpWebResponse AsyncResponse { get; set; }
    }
}

我在应用程序启动时创建一个 RootObject,然后使用 JSON 来清空值。该调用返回“response”、“query_zone”和“alerts”。现在最后一个是 Alert 类型的 List,其中包含已发出警报的类型、描述等。

所以我将此列表存储为alertVar。这有几种方法,包括计数。我可以弄清楚发出了多少警报,但我不确定如何继续。

如何使用此列表检索字符串值(例如类型)?

4

2 回答 2

0
foreach (var alert in alerts) 
{
   var type = alert.type;
   var description = alert.description
}

这是一个基本示例,说明您如何使用正在循环的项目。

于 2013-10-29T23:43:49.930 回答
0

假设alertVar是您的列表Alert,您可以执行以下操作:

string some_string;
foreach (var alert in alertVar) 
{
    some_string += alert.type + ", ";
}

这会将所有类型添加到一个长字符串 ( some_string) 中。你可以对任何你想要的属性做同样的事情......

于 2013-10-29T23:41:10.983 回答