Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#windows窗体中将类对象更改为数组列表 Product_Details result=response.ResultAs(); ArrayList myarr=结果; foreach(result.ToString()中的变量项) { }_C#_.net_Windows_Forms_Firebase - Fatal编程技术网

如何在c#windows窗体中将类对象更改为数组列表 Product_Details result=response.ResultAs(); ArrayList myarr=结果; foreach(result.ToString()中的变量项) { }

如何在c#windows窗体中将类对象更改为数组列表 Product_Details result=response.ResultAs(); ArrayList myarr=结果; foreach(result.ToString()中的变量项) { },c#,.net,windows,forms,firebase,C#,.net,Windows,Forms,Firebase,我想将变量result更改为数组列表,因为此变量包含完整表的数据,我需要对其进行迭代。如果我理解正确,您是说响应包含多个Product\u Details类型的对象。不过,我确实需要更多的信息;响应是否为JSON格式(例如是否需要序列化?) 无论哪种方式,都可以尝试类似的方法 Product_Details result = response.ResultAs<Product_Details>(); ArrayList myarr = result; foreach (var ite

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

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

无论哪种方式,都可以尝试类似的方法

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

}
List result=new List();//列一个新的清单
结果=response.ResultAs();//将响应分配给列表
foreach(结果中的产品详细信息)
{
//使用pd.访问变量
}
//(我保留了.ResultAs,因为我不知道您的响应对象是/有什么,但确实将它显式地强制转换为列表)
如果您需要了解如何反序列化JSON对象,您可以启动

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

         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)
使用(客户端)
{
HttpResponseMessage结果=wait client.GetAsync(tmpUri);
if(结果。IsSuccessStatusCode)
{
var content=wait result.content.ReadAsStringAsync();
oc=JsonConvert.DeserializeObject(内容);
}
}

(为了清晰起见,我在api调用中包含了这些代码。当然,您可以忽略这些。)

foreach(响应.ResultAs()中的var项)
?如果用户按下Pizza按钮,那么firebase上的my database将返回Pizza的所有子产品,您需要对代码进行更多解释。正在检索该数据作为响应。数据收集意味着它记录了无限量的产品。所以我想把响应中的数据存储在列表中,这样我就可以对它进行迭代,它不工作,因为响应从firebase获取数据,但当您将结果列表分配给响应时,结果列表将包含所有字段,但所有字段都显示为空。如果用户按下Pizza按钮,则firebase上的我的数据库中返回所有的子产品披萨正在检索该数据作为响应。数据收集意味着它记录了无限量的产品。所以我想把响应中的数据存储在列表中,这样我就可以在它上面迭代,以什么格式返回响应中的数据。我怀疑JSON,因为它是最常见的格式。如果是这样,您需要将json反序列化为可读的c。请尝试我附加到答案的链接。这可能会有帮助。
 using (client)
                {
                    HttpResponseMessage result = await client.GetAsync(tmpUri);
                    if (result.IsSuccessStatusCode)
                    {
                        var content = await result.Content.ReadAsStringAsync();
                        oc = JsonConvert.DeserializeObject<ObservableCollection<T>>(content);
                      }
                }