
Ilya
14.01.2017
20:05:33
Поменял на foreach, контроллер возвращает массив обьектов ProductCategory в котором два поля: Product product; List<Category> categories. @model ProductCategory[] - модель. В дебагере первые два обращения к pc проходит нормальном на третьем выдает IndexOutOfRangeException

Gid
14.01.2017
20:06:09
Да не передавай обычный массив
Никаких model ProductCategory []
Смотри, это хрень

Google

Ilya
14.01.2017
20:07:08
List<ProductCategory> ?

Gid
14.01.2017
20:07:15
Ты кодфирст юзаешь?
Если кодфирст делаешь one-to-many
В сущности продукт пишешь ProductCategory Category
В сущности продукт категори пишешь List<Product>
Потом в свою модель всё в 1 лист пихаешь, никаких массивов не делаешь

Ilya
14.01.2017
20:09:38
Не понял
Всмысле в один лист

Gid
14.01.2017
20:10:15
Как у тебя продукт категори относится к продукту?

Ilya
14.01.2017
20:11:16
Продукт категори - это продукт и масив категорий к которым он принадлежит

Gid
14.01.2017
20:13:10
Ну если так хочешь то сделай ProductsViewModel class, внутри которого будет List<Product> Products { get; set; } и ProductCategory Category { get; set; }
Потом заполни эту модель и отдай на вьюху

Google

Gid
14.01.2017
20:14:06
Если юзать еф

Дмитрий
14.01.2017
20:15:15
вроде бы логичнее иметь:
1 категория - содержит N продуктов
у каждого продукта - одна категория
и из связки рождается ProductCategory

Ilya
14.01.2017
20:16:51
Дело в том что продукт может относиться к нескольким категориям например новогодняя кружка это и кружки и сувенир одновременно а также кружки с расцветкой
ProductCategory связывает 1 продукт и все категории к которым он принадлежит

Gid
14.01.2017
20:17:42

Дмитрий
14.01.2017
20:18:21

Ilya
14.01.2017
20:18:29
Чем вообще вызиваеться эта ошибка? И почему если удалить последующий код после ошибки все работает?

Дмитрий
14.01.2017
20:18:33
просто надо же было с чего-то начать мысль
код модели покажи
скорее всего там что-то не то

Ilya
14.01.2017
20:21:58
По сути pc это не масив
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Shop.Models
{
public class ProductCategory
{
public Product Product;
public Category[] Categories;
}
}

Дмитрий
14.01.2017
20:22:34
массивы фу
выкинь нафиг и используй List<>

Gid
14.01.2017
20:23:09
Неправильно
Почитай про еф и отношения сущностей, ты поймёшь что не так делаешь

Ilya
14.01.2017
20:24:26
Я написал без entity framework. И как это влияет на данную ошибку?

Gid
14.01.2017
20:24:48
На ошибку никак, просто ты пишешь говнокод

Google

Gid
14.01.2017
20:25:06
А ошибка твоя просто выход за массив
Проверь кол-во элементов на брейкпоинте
Посмотри сколько их в модель отдается, может там 0

Ilya
14.01.2017
20:28:27
22 элемента, обращаюсь к нулевому, в дебагере показываеться значение но как только step проходит pc.Product.Date возникает ошибка, хотя pc.Product.Name что стоит перед ним ошибок не вызывает и если поменять их местами ошибка все равно возникает в последнем
Если удалить весь c# код что стоит после pc.Product.Date, ошибка исчезает и обращенние к pc проходит успешно

Gid
14.01.2017
20:30:36
Хрен знает, если б ты юзал отдельную вьюмодель для этого то было б все ок
И форичем приходился
А так проблема в индексе элемента
Где-то там
Заюзай вместо Category [] - List<Category>

Ilya
14.01.2017
20:32:23
Уже сделал
Та же ошибка

Ilya
14.01.2017
20:33:32
Когда закоментировал ошибка пропала

Gid
14.01.2017
20:35:11
Мой совет не разбираться откуда ошибка
А написать нормальный код

Reckit
14.01.2017
22:04:59
если руки из нужных мест растут

Летучая
14.01.2017
22:08:02

Gid
14.01.2017
22:15:18
И асц2 вставки

Google

Gid
14.01.2017
22:15:42
Ваще оч быстро

Reckit
14.01.2017
22:15:52
надо попробовать

Gid
14.01.2017
22:15:54
Можно еще сервер на хаскелле написать если откуда надо руки растут

Reckit
14.01.2017
22:16:09
или на ассемблере
чёт вопрос вспомнился
про байт коды

Admin
ERROR: S client not available

Reckit
14.01.2017
22:16:45
пойду читать

Дмитрий
14.01.2017
22:25:01
массивы всё равно быстрее чем твой лист
спорное утверждение с учетом того, что внутри List содержит тот же массив
а если правильно подобрать Capacity - то можно избежать и дополнительных выделений памяти

Victor
15.01.2017
01:07:02
http://stackoverflow.com/questions/454916/performance-of-arrays-vs-lists
и https://codeblog.jonskeet.uk/2009/01/29/for-vs-foreach-on-arrays-and-lists/
При этом, вывод, с которым стоит согласиться - But unless you need to micro-optimise, keep it simple and use List<T>

Max
15.01.2017
02:04:41
не могу нигде инфы по httpclient найти
примеров толком нигде нет
хер пойми

des
15.01.2017
04:55:12
примеров толком нигде нет
https://www.dotnetperls.com/httpclient
https://blog.jayway.com/2012/03/13/httpclient-makes-get-and-post-very-simple/
https://www.google.ru/search?q=c%23+httpclient+example&oq=c%23+httpclient+exam&aqs=chrome.2.69i57j69i58j0l3.9943j0j4&client=ms-android-asus&sourceid=chrome-mobile&ie=UTF-8#xxri=2

Vladimir Bondaryuk
15.01.2017
06:40:01
А ошибка твоя просто выход за массив
как у него может быть выход за пределы массива, если он foreach-ем по нему проходится и первые 2 вызова к элементу проходят нормально? Тут проблемы я думаю в чем-то глубже, надо смотреть как заполняется массив, либо если попытка изменить гдето происходит массива
И данную ошибку фиг разберешь без полного просмотра кода, ну я так думаю.

Google

Levent
15.01.2017
06:49:30

des
15.01.2017
06:51:34
Суть не сильно поменялась

v
15.01.2017
07:16:03
кстати, о лошадях
вот есть у httpclient метод GetStreamAsync
но в примерах почему-то через httpclient получают HttpResponseMessage
и пользуются его свойствами Content.CopyToAsync
примеров по GetStreamAsync уаще не находится
почему так?

Leonard
15.01.2017
07:32:44
Добрый день
Что-то вроде Dropdown'a
UWP

Dmitry
15.01.2017
07:59:45
На wpf я рисовал грид, который отображал по нажатию)

Летучая
15.01.2017
10:06:22
ComboBox
@nekonyx

Leonard
15.01.2017
10:07:30
Спасибо, спас
Эта группа больше не существует