【问题标题】:How to change class object into Array List in c# windows form如何在 c# windows 窗体中将类对象更改为数组列表
【发布时间】:2018-12-05 09:45:55
【问题描述】:
Product_Details result = response.ResultAs<Product_Details>();
ArrayList myarr = result;
foreach (var item in result.ToString())
{

}

我想将变量结果更改为数组列表,因为该变量包含全表数据,我需要对其进行迭代。

【问题讨论】:

  • foreach(var item in response.ResultAs&lt;Product_Details&gt;()) ?您将不得不更多地解释您的代码
  • 如果用户按下 Pizza 按钮,然后在我的 firebase 数据库中返回所有属于 Pizza 的产品。该数据正在检索作为响应。该数据是收集意味着它需要记录无限的产品。所以我希望将响应中的数据存储在列表中,以便我可以对其进行迭代

标签: c# .net windows forms firebase


【解决方案1】:

如果我理解正确,您是说响应包含多个 Product_Details 类型的对象。但是,我确实需要更多信息;响应是 JSON 格式的(例如是否需要序列化?)。

无论哪种方式,都可以尝试这种方式;

         List<Product_Details> result = new List<Product_Details>(); // make a new list
         result = response.ResultAs<List<Product_Details>>(); // assign response to list       
         foreach (Product_Details pd in result)
         {
             // use pd. to access the variable
         }

// (i kept the .ResultAs since i dont know how or what your response object is/has,but did cast it to a list explicitly)

如果您需要了解如何反序列化 JSON 对象,您可以开始 Here

正如您在 cmets 中所讨论的那样,它是 JSON 格式,如果您使用的是 NewtonSoft.JSON (nuget),代码将是:

 using (client)
                {
                    HttpResponseMessage result = await client.GetAsync(tmpUri);
                    if (result.IsSuccessStatusCode)
                    {
                        var content = await result.Content.ReadAsStringAsync();
                        oc = JsonConvert.DeserializeObject<ObservableCollection<T>>(content);
                      }
                }

(为了清楚起见,这段代码应该放在哪里,我包含了 api 调用。你当然可以省略它。)

【讨论】:

  • 它不起作用,因为响应从 firebase 获取数据,但是当您将结果列表分配给响应时,结果列表将包含所有字段,但所有字段都显示为 null
  • 如果用户按下 Pizza 按钮,然后在我的 firebase 数据库中返回所有属于 Pizza 的产品。该数据正在检索作为响应。该数据是收集意味着它需要记录无限的产品。所以我希望将响应中的数据存储在列表中,以便我可以对其进行迭代
  • 返回的响应中的数据是什么格式的。我怀疑 JSON,因为这是最常见的格式。如果是这样,您需要将 json 反序列化为可读的 c#。尝试我附加到答案的链接。这可能会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2012-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多