сначала я хотел бы go составить список этих фруктов, чтобы вы действительно могли что-то с ними сделать. желательно, чтобы вы для начала сохраняли их в списке;
добавляем свойство плодов, которое возвращает фрукты в виде списка.
public List<string> fruit
{
get { return new List<string> { this.fruit1, this.fruit2, this.fruit3 };}
set {
this.fruit1 = value.ElementAtOrDefault(0);
this.fruit2 = value.ElementAtOrDefault(1);
this.fruit3 = value.ElementAtOrDefault(2);
}
}
, таким образом беря список объекта Fruits:
List<Fruits> fruitList = {...};
Затем вы можете удалить все фрукты там, где ничего нет, создавая таким образом список без пустых мест.
fruitList.ForEach(s => s.fruits = s.fruits.Where(x => !string.IsNullOrEmpty(x)).ToList());
Однако этот список может быть короче предыдущего списка, так как все пустые струны удаляются. Поэтому мы должны проверить, существует ли еще значение в соответствующем индексе. Мы делаем это с помощью ElementAtOrDefault , это возвращает null, если в индексе нет значения.
Однако вы должны отметить, что это не устойчивый способ хранения этих объектов, поскольку вам понадобится для создания большего количества фруктов при каждом увеличении количества фруктов, которые вы хотите хранить в ряду. так что было бы лучше для начала просто сохранить эти фрукты в списке и обойти все эти проблемы.