Код: Выделить всё
List subList = new();
List mainList = new();
for (int i = 0; i < 10; i++)
{
subList.Add("Something");
if ((i + 1) % 2 == 0)
{
mainList.Add(subList);
subList.Clear();
}
}
< /code>
Если после этого я проверю < /p>
Debug.WriteLine($"mainList: {mainList.Count}"); // Will display 5
Debug.WriteLine($"added subList: {mainList[0].Count}"); // Will display 0, why??
< /code>
Попытка получить доступ к основному списку [0] [0] будет выбросить исключение: < /p>
Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
Что не так с list.clear ()? Похоже, он очищает список до того, как список будет добавлен в другой список. Почему это происходит и как использовать list.clear () правильно здесь? Или проблема в списке.add ()? Я не нашел ничего конкретного в Learn.microsoft.com
Подробнее здесь: https://stackoverflow.com/questions/796 ... in-c-sharp
Мобильная версия