C# Переменная bool изменяется сама по себе
Переменная bool изменяется сама по себе начиная с фрагмента else if.
bool flag = false;
for (int i = 0; i < list_obr.Count; i ++)
{
if (list_obr[i] == "-")
{
flag = true;
continue;
}
if (flag = true && list_obr[i] == "Климов С. А.")
{
if (main_tab.ContainsKey(list_obr[i + 1]))
{
main_tab[words_obr[i + 1]].obr++;
count_all++;
count_obr++;
flag = false;
}
else
{
main_tab.Add(words_obr[i + 1], new list { obr = 1 });
count_all++;
count_obr++;
}
}
else if (flag == true & main_tab.ContainsKey(list_obr[i]))
{
main_tab[list_obr[i]].obr++;
count_all++;
count_obr++;
flag = false;
}
Ответы (1 шт):
Автор решения: Kalmankantaja
→ Ссылка
Потому что в условии на 149 строке вы задаете значение переменной flag, необходимо написать if(flag == true...), а не if(flag = true...). Для избежания подобных ошибок можно использовать другой синтаксис:
if(flag) - экивалентно if(flag == true)
if(!flag) - эквивалентно if(flag == false)
