如何在C#Windows窗体中将类对象更改为数组列表

时间:2018-12-05 09:45:55

标签: c# .net windows forms firebase

Product_Details result = response.ResultAs<Product_Details>();
ArrayList myarr = result;
foreach (var item in result.ToString())
{

}

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

1 个答案:

答案 0 :(得分:2)

如果我正确理解,您是说响应中包含多个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

正如评论中所讨论的那样,您说它是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调用中。您当然可以省略。)