В строке
Buffer = unBuffer;
unBuffer.Clear();
вместе с UnBuffer чиститься и сам Buffer почему то, вот полный код
public List<SubForum> GetAllTreeSubForums(SubForum subForum)
{
List<SubForum> allSubList = new List<SubForum>(); // Основной список
bool isOver = false;
var Buffer = GetChildSubForum(subForum); // В начале это 1 глубина
var unBuffer = new List<SubForum>();
while(isOver == false)
{
allSubList.AddRange(Buffer);
foreach(var podBuffer in Buffer)
{
var a = GetChildSubForum(podBuffer);
unBuffer.AddRange(a);
}
if (unBuffer.Count() == 0)
{
allSubList.AddRange(Buffer);
isOver = true;
}
Buffer = unBuffer;
unBuffer.Clear();
}
return allSubList;
}
Buffer = unBuffer;
После этой строки обе переменные указывают на один и тот же объект (из-за var
не знаю тип, но предполагаю, что List<SubForum>
). Вы его очищаете, после этого обе переменные указывают на все тот же список, но уже пустой. Если вы хотели скопировать не ссылку, а сам список, вам следовало воспользоваться копирующим конструктором:
Buffer = List<SubForum>(unBuffer);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Работаю над проектом средней крупности в Visual Studio 2019Количество форм проекта дошло до "неудобного", и решил я их раскидать по папкам (сразу не додумался)
Турдность состоит в том, что сдвиг должен быть циклическим по строкам и создавать дополнительные(временные) массивы нельзяПо задаче требуеться,...
Предположим, что есть таблица со столбцами Имя, Фамилия и ВозрастМогу ли я посредством выполнения команды в стиле
В своём консольном проекте на C# я решил реализовать возможность смены шрифта консоли средствами самой программыАлгоритм действий: