Как изменить объект класса в Array List в c # windows form - PullRequest
0 голосов
/ 05 декабря 2018
Product_Details result = response.ResultAs<Product_Details>();
ArrayList myarr = result;
foreach (var item in result.ToString())
{

}

Я хочу изменить результат переменной в список массивов, потому что эта переменная содержит данные полной таблицы, и мне нужно ее повторить.

1 Ответ

0 голосов
/ 05 декабря 2018

Если я правильно понимаю, вы говорите, что ответ содержит несколько объектов типа 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, вы можете начать Здесь

Как уже говорилось в комментариях, вы сказали, что это в формате 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. Вы можете, конечно, пропустить это).

...