У меня есть общий список с именем mysoldier, чьи предметы имеют такие свойства, как высота, вес и т. Д. Итак, после добавления солдат (mysoldier.Add), я хочу изменить высоту солдата. Для этого я использовал:Как обновить свойство Item из списка?
public void Increase Height()
{
for (int i = 0; i < mysoldier .Count; i++)
{
if (this.mysoldier [i].height > 7)
{
this.mysoldier [i].height= 7;
}
else
{
this.mysoldier [i].height+= 1;
}
}
, но это не меняет высоту только одного конкретного объекта, а он изменяет высоту всех солдат добавляется в контейнер.
public void IncreaseHeight(int i) //#, or mysoldier.Count - 1 (I believe) for last
{
if (this.mysoldier [i].height > 7)
{ this.mysoldier [i].height= 7; }
else { this.mysoldier [i].height+= 1; }
}
Но с этим кодом я изменяю только высоту ранее созданного солдата. Поэтому, пожалуйста, кто-нибудь может указать мне, что не так в коде?
последний фрагмент кода в порядке. вам просто нужно изменить код, из которого вы вызываете 'IncreaseHeight', чтобы указать правильный индекс. –
' mysoldier' должен быть 'mySoldier'. (действительно, как объясняет Фернандо, «mySoldiers» с «s») – Fattie
вы должны полностью удалить «это». из кода. Как правило, никогда не используйте «это». в единстве. Иногда вы видите это в примере кода, и это совершенно неправильно. Так что удалите это. – Fattie