Не получить последний элемент в списке модели в xamarin - PullRequest
0 голосов
/ 27 августа 2018

Я использую этот метод со списком, как показано ниже, чтобы получить список элементов Джейсона в модели

   private List<ResturentPair> GetDishItems(List<Resturent> list)
        {
            var res = new List<ResturentPair>();           
            for (int i = 0; i < list.Count ; i++)
            {
                res.Add(new ResturentPair {Item1 = (i < list.Count - 1 ? list[i] : null) , Item2 = ((i < list.Count - 1 && i + 1 < list.Count - 1 )? list[i+1] : null) , Item3 = ((i < list.Count - 1 && i + 2 < list.Count - 1  )? list[i+2] : null)});               

                i = i + 2;              
            }
            return res;          

        } 

List<ResturentPair> - это набор продуктов, где метод возвращается от элемента 1 до конца, но всегда метод возвращает на 1 элемент меньше, чем количество элементов в коллекции, например, скажем, List<ResturentPair> содержит элементы из 10 , он возвращает только 9, является то, что проблема с циклом for или переменной i, помощь будет оценена, Заранее спасибо за поддержку

1 Ответ

0 голосов
/ 28 августа 2018

ключ в том, что:

Item1 = (i <= list.Count - 1 ? list[i] : null) 

вместо

Item1 = (i < list.Count - 1 ? list[i] : null)

Вы должны сделать тест для вашей области логической части, просто сообщите с помощью

var firstLogic = (i < list.Count - 1 ? list[i] : null) ;
var secondLogic = i < list.Count - 1 && i + 1 < list.Count - 1;
var thirdLogic = i < list.Count - 1 && i + 2 < list.Count - 1;

Первый цикл Второй цикл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...