Я знаю, что это противоречит правилам .NET, но иногда мне это нужно. Например, мне нужно запустить через Dictionary<string, bool>
. Этот словарь хранит мои переменные в разобранном логическом уравнении. Я хочу вывести таблицу истинности, поэтому мне нужно перебрать и установить элементы.
Одна вещь, которую я пробовал это
foreach (var x in Variables.Keys)
{
bool on = ((in) & (j << in)) > 0;
Variables[x] = on;
builder.Append(on == true ? '1' : '0').Append('\t');
j++;
}
Я только что получил InvalidOperationException
: коллекция была изменена; Операция перечисления может не выполняться. Я преобразовал словарь в массив и попытался изменить его таким образом, но KeyValuePair.Value
это только для чтения , поэтому он не будет работать.