Сохранение настроек на основе строк

Мне нужно сохранить в другой настройке на основе входной строки. Почему эта линия не будет работать?

Properties.Settings.Default + colorOptionNametoSave = selectedIndexString;
Properties.Settings.Default.Save();

Где colorOptionNametoSave это другая настройка цвета и selectedIndexString это значение для сохранения. Однако я получаю сообщение:

Ошибка 2: Левая часть присваивания должна быть переменной, свойством или индексатором.

Единственная работа, о которой я могу думать, это switch Скажите, но у меня много цветов, так что это будет очень долго. Есть идеи по более эффективному решению?

1 ответ

Решение

if/else или switch это то, что вы ищете.

Вы не можете объединить имя переменной!

Таким образом, решение для вас будет что-то вроде этого (если colorOptionNametoSave это строка):

if(colorOptionNametoSave == "Blue")
{
    Properties.Settings.Default.Blue = selectedIndexString;
}
else if(colorOptionNametoSave == "Red")
{
    Properties.Settings.Default.Red = selectedIndexString;
}
Другие вопросы по тегам