Как добавить дополнение к циклу без цикла с самого начала? - PullRequest
0 голосов
/ 24 октября 2019

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

Я пытался сделать это для циклов, но это дает мне ошибку, которую я понимаю, почесывая голову о том, как это исправить.

for(int i = 0; i < boatList.Count; i++)
    {
        BoatSelector.Items.Add(boatList[i].GetboatName() + " - " + boatList[i].GetboatLicense());
    }     

Ожидаемый результат: Имя + Лицензия от ввода пользователя, должна быть добавлена ​​в поле со списком.

Фактический результат: Имя + Лицензия get добавляется, затем цикл for возвращается назад. в 0 и повторно добавляет то же имя и лицензию, а также добавляет новые.

1 Ответ

0 голосов
/ 24 октября 2019

'запустить цикл for из нового индекса'

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

Это то, что вы ищете?

var last = boatList.Last() // using System.Linq;
var last = boatList[boatList.Count/Count()/Length - 1] // etc. 

BoatSelector.Items.Add(lastItem.GetboatName() + " - " + last.GetboatLicense());

'по новому индексу'

Я хотел, чтобы элементы хранились, а не очищались, как бы я начал цикл с нового индекса?

Вы имеете в виду в начале списка? Если это так, вы можете использовать InsertAt

BoatSelector.Items.InsertAt(0,boatList[i].GetboatName() + " - " + boatList[i].GetboatLicense());

', повторно добавляет то же самое'

и повторно добавляет то же имяи лицензию, а также добавляя новые

Я думаю, что вы добавляете элементы несколько раз.

for(int i = 0; i < boatList.Count; i++)
{
    BoatSelector.Items.Add(boatList[i].GetboatName() + " - " + boatList[i].GetboatLicense());
}   

(... at another time)


for(int i = 0; i < boatList.Count; i++)
{
    BoatSelector.Items.Add(boatList[i].GetboatName() + " - " + boatList[i].GetboatLicense());
} 

Это означает, что BoatSelector.Items всегда растет.

Вы можете Clear() Items или назначить новый список:

BoatSelector.Items = boatList
          .Select( item => item.GetboatName() + " - " + item.GetboatLicense())
          .ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...